/* ==========================================================================
   JAGRITI DHAM — /best-luxury-senior-citizen-home-kolkata/
   BODY SECTIONS
   Loaded LAST, after style2.css, responsive2.css, header2.css and banner2.css,
   so it wins on source order. Nothing here is flagged !important except where
   a legacy rule is itself flagged, and each of those says so.

   Right now this file holds one section: "Jagriti Dham - Kolkata's only
   Luxurious Senior Citizen Home", the first thing under the banner.

   WHAT IT REPLACED, and why each change is a change and not a preference:

     1. THE SECTION TITLE WAS AN <h4>. The page's only <h1> is the line under
        the banner, and the very next heading on the page was a level four -
        an h1 -> h4 jump, the first of seven on this page. It is an <h2> now,
        which is what a top-level section title is.

     2. THE NINE PILLARS WERE A `columns:2` BULLET LIST inside a Bootstrap
        `.row` that had no columns in it. That row pulled itself 24px wider
        than its container (the gutter exists to cancel column padding, and
        there was none to cancel), the list added a 25px left margin on top,
        and the multicol block divided the over-wide box - 25px of horizontal
        scroll on the WHOLE page at 1280, 17px at 992. It was patched in
        banner2.css; the patch is now deleted because the markup it patched is
        gone. A grid cannot overflow its container the way a float-era
        multicol can.

     3. THE GROUND WAS FLAT WHITE, between a dark green banner plinth above
        and the #ebe3cd cream of #Services below - so the page went
        dark / white / cream with nothing to say the middle band was a room
        of its own. It is warm paper now, with the same noise-and-light
        treatment the sibling page's equivalent section uses, and a brass
        hairline top and bottom.

   COLOURS, MEASURED against the ground's darkest stop #f7f2e6:
        title    #22331f  12.25:1      lead      #3f4a41   8.43:1
        pillars  #3a5240   7.77:1      chip ink  #24331f  13.39:1 (on white)
        icon     #3a5240   7.58:1 on the brass-tinted disc
   The chip hairline and the rule under the title measure ~1.2-1.9:1 and that
   is CORRECT: they are decoration, not controls and not meaning-bearing
   graphics, so WCAG 1.4.11's 3:1 does not apply to them. On a light ground
   cards are separated by shadow and hairline, not by luminance - chasing 3:1
   there would mean a heavy border on a section whose whole job is to feel
   light after the dark band above it.
   ========================================================================== */

.section-gaping.live_better{
  --lb-ink:#22331f;
  --lb-body:#3f4a41;
  --lb-green:#3a5240;
  --lb-brass:#cbb279;
  --lb-brass-dp:#7f6630;

  padding:58px 0 62px;

  background-color:#f7f2e6;
  background-image:
    /* the house's own feTurbulence tile at .026 - the LIGHT-room opacity.
       fractalNoise averages 0.5 in all four channels, so this lays about 1.3%
       coverage of mid-grey: texture, not dither. 298 bytes, no request. */
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='lbs'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='120' height='120' filter='url(%23lbs)' opacity='.026'/%3E%3C/svg%3E"),
    /* light falling from above the title, not a decorative shape laid on the
       page - it shares its direction with the header bar and the CTA plate */
    radial-gradient(64% 150px at 50% -20px,
      rgba(34,51,31,.075) 0%, rgba(34,51,31,.03) 46%, rgba(34,51,31,0) 100%),
    linear-gradient(180deg, #fdfaf2 0%, #faf6ec 42%, #f7f2e6 100%);
  background-repeat:repeat, no-repeat, no-repeat;

  box-shadow:inset 0 1px 0 rgba(227,207,156,.55);
  border-bottom:1px solid rgba(203,178,121,.45);
}

/* ---------- the title ---------- */
.live_better .section_title{ margin-bottom:0; }
.live_better .section_title h2{
  font-family:Helvetica, Arial, sans-serif;
  font-size:clamp(23px, 2.6vw, 32px);
  font-weight:700;
  line-height:1.26;
  color:var(--lb-ink);
  max-width:24em;
  margin:0 auto;
  text-align:center;
  position:relative;
}
/* style2.css:58 gives every .section_title h2 an ABSOLUTE 60x4 brass bar at
   left:0, which on a centred title sits under its left edge rather than under
   the title. Made static and centred, and thinned to a hairline - a 4px slab
   under a 32px line reads as an underline, which this is not. */
.live_better .section_title h2::after{
  position:static;
  display:block;
  content:"";
  width:58px; height:1px;
  margin:16px auto 0;
  background:linear-gradient(90deg,transparent,rgba(203,178,121,.95),transparent);
}

/* ---------- the lead ---------- */
/* NOT JUSTIFIED, and automatic hyphenation off with it.
   Measured in-browser across 42 body blocks at 1440/1280/1100/992/768/576/375,
   with every collapsed panel forced open so nothing hid from the scan: this was
   the ONLY block left on the page setting text-align:justify, and the only one
   with hyphens:auto.
   Hyphenation was buying nothing - ZERO words broke at any width, and the one
   break seen at 576 was "age-integrated" splitting at its own hyphen, which
   still happens under hyphens:manual. What justification WAS doing is
   stretching the word gaps: 2.01x at 1440 (4.09px -> 8.21px), 3.81x at 576 and
   5.41x at 375, where a 3.86px space grew to 20.90px. Bands of uneven white,
   bought with no hyphenation benefit at all. Same remedy as the .jd-welcome
   letter further down this file.
   ALL FIVE declarations below are load-bearing, not decorative. style2.css:1894
   .live_better p keeps pushing text-align:justify, hyphens:auto,
   -webkit-hyphens:auto, text-align-last:left AND word-spacing:-0.05em at this
   element, so each has to be answered BY NAME - deleting them here just hands
   the element back to style2.css. word-spacing especially: -0.05em is part of
   that justification kit, since pre-tightening the space delays how far
   justification has to stretch. With the gaps even there is nothing left to
   compensate for, and leaving it would give this one paragraph tighter word
   spacing than any other copy on the page.
   text-align-last must be auto, never merely deleted: the property is
   independent of text-align, so the old center under a flush-left block would
   have left the final line as a lone centred orphan.
   max-width STAYS 88ch. It was originally a trade bought with justification and
   hyphenation - both now gone - so 76ch would set more comfortably; but that is
   a visible width change nobody asked for. Flagged, not taken. */
.live_better .lb-lead{
  max-width:88ch;
  margin:26px auto 0;
  font-size:18px;
  line-height:1.72;
  color:var(--lb-body);
  text-align:left;
  text-align-last:auto;
  hyphens:manual;
  -webkit-hyphens:manual;
  word-spacing:normal;
}

/* ---------- "The Pillars of Exceptional Senior Living" ---------- */
.live_better .lb-pillars-head{
  margin:40px 0 0;
  text-align:center;
  font-size:20px;
  font-weight:700;
  line-height:1.3;
  letter-spacing:.01em;
  color:var(--lb-green);
}

/* ---------- the nine pillars ---------- */
.live_better .lb-pillars{
  list-style:none;
  margin:26px 0 0;
  padding:0;
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:16px;
}
.live_better .lb-pillar{
  display:flex;
  align-items:center;
  gap:15px;
  min-height:84px;
  padding:16px 18px;
  background:#fff;
  border:1px solid rgba(127,102,48,.20);
  border-radius:12px;
  box-shadow:0 2px 10px rgba(34,51,31,.06), 0 1px 2px rgba(34,51,31,.04);
}
/* the icon well. A tinted disc rather than a coloured one: the glyph carries
   the colour, and nine saturated discs in a 3x3 grid would out-shout the
   nine labels they exist to introduce. */
.live_better .lb-pic{
  flex:0 0 auto;
  width:46px; height:46px;
  border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  background:#f6f1e7;
  border:1px solid rgba(127,102,48,.22);
  color:var(--lb-green);
  font-size:19px;
  line-height:1;
}
/* style2.css:208 puts a 40x40 solid green disc behind every `.social-media-top
   li i`, and other legacy rules size bare <i> elements. Reset the box here so
   this furniture cannot inherit someone else's. */
.live_better .lb-pic i{
  background:transparent;
  width:auto; height:auto;
  line-height:1;
  color:inherit;
  font-size:inherit;
  border-radius:0;
}
.live_better .lb-pillar span:last-child{
  font-size:16px;
  font-weight:600;
  line-height:1.4;
  color:#24331f;
}

/* ==========================================================================
   THE PILLARS, ANIMATED
   ==========================================================================
   Two effects: the chips rise into place as the section scrolls into view,
   staggered a twentieth of a second apart, and each one answers a pointer.

   THE HIDDEN STATE IS ARMED BY SCRIPT, NEVER BY THIS FILE ALONE. Everything
   below that sets opacity:0 is scoped under `.lb-pillars.jd-anim`, and only
   js/custom.js adds `jd-anim` - after it has confirmed IntersectionObserver
   exists and that the reader has not asked for less motion. If the script is
   blocked, fails, or is served stale, `jd-anim` never lands and all nine
   chips render plainly. This page ships seventeen `.wow` classes for a
   library it does not load, and animate.min.css without wow.min.js - which is
   exactly how content ends up invisible in production. Not this time.

   The pointer response deliberately does NOT change the cursor and does not
   lift far: these chips are statements, not buttons, and an effect that
   promises a click there has lied. */
@media (prefers-reduced-motion:no-preference){
  .live_better .lb-pillars.jd-anim .lb-pillar{
    opacity:0;
    transform:translateY(16px);
    transition:opacity .5s ease,
               transform .55s cubic-bezier(.32,.72,0,1),
               box-shadow .3s ease,
               border-color .3s ease;
  }
  .live_better .lb-pillars.jd-anim.is-in .lb-pillar{
    opacity:1;
    transform:none;
  }
  /* the stagger reads left-to-right, top-to-bottom, and is over in .40s -
     long enough to be seen as a sequence, short enough that a reader who
     scrolls fast never waits for it */
  .live_better .lb-pillars.jd-anim.is-in .lb-pillar:nth-child(1){ transition-delay:0s; }
  .live_better .lb-pillars.jd-anim.is-in .lb-pillar:nth-child(2){ transition-delay:.05s; }
  .live_better .lb-pillars.jd-anim.is-in .lb-pillar:nth-child(3){ transition-delay:.10s; }
  .live_better .lb-pillars.jd-anim.is-in .lb-pillar:nth-child(4){ transition-delay:.15s; }
  .live_better .lb-pillars.jd-anim.is-in .lb-pillar:nth-child(5){ transition-delay:.20s; }
  .live_better .lb-pillars.jd-anim.is-in .lb-pillar:nth-child(6){ transition-delay:.25s; }
  .live_better .lb-pillars.jd-anim.is-in .lb-pillar:nth-child(7){ transition-delay:.30s; }
  .live_better .lb-pillars.jd-anim.is-in .lb-pillar:nth-child(8){ transition-delay:.35s; }
  .live_better .lb-pillars.jd-anim.is-in .lb-pillar:nth-child(9){ transition-delay:.40s; }
}

/* the icon well gets a soft brass halo, always - a still detail rather than
   a moving one, so it is there for the reader who never hovers and for the
   one who asked for no motion */
.live_better .lb-pic{
  box-shadow:0 0 0 4px rgba(203,178,121,.14), inset 0 1px 0 rgba(255,255,255,.85);
  transition:background .32s ease, color .32s ease, border-color .32s ease,
             box-shadow .32s ease, transform .32s cubic-bezier(.32,.72,0,1);
}

@media (hover:hover){
  .live_better .lb-pillar:hover{
    border-color:rgba(127,102,48,.45);
    box-shadow:0 8px 22px -8px rgba(34,51,31,.22), 0 2px 6px rgba(34,51,31,.07);
    transform:translateY(-2px);
  }
  /* the disc fills and the glyph turns: white on #3a5240 measures 8.53:1 */
  .live_better .lb-pillar:hover .lb-pic{
    background:var(--lb-green);
    border-color:var(--lb-green);
    color:#fff;
    box-shadow:0 0 0 5px rgba(203,178,121,.26), inset 0 1px 0 rgba(255,255,255,.18);
    transform:scale(1.06);
  }
}

@media (prefers-reduced-motion:reduce){
  .live_better .lb-pillar,
  .live_better .lb-pic{ transition:none !important; transform:none !important; }
}

/* ==========================================================================
   Responsive
   ========================================================================== */
@media (max-width:1199px){
  .live_better .lb-pillar{ gap:13px; padding:15px 15px; min-height:80px; }
  .live_better .lb-pillar span:last-child{ font-size:15.5px; }
}

@media (max-width:991px){
  .section-gaping.live_better{ padding:48px 0 52px; }
  .live_better .lb-pillars{ grid-template-columns:repeat(2, minmax(0, 1fr)); gap:14px; }
  /* 17.5, not 16.5: the base is 18 and the band below this one sets 17, so
     16.5 here made the ladder run 18 -> 16.5 -> 17 - smaller in the middle
     than at either end. */
  .live_better .lb-lead{ font-size:17.5px; }
}

@media (max-width:767px){
  .section-gaping.live_better{ padding:40px 0 44px; }
  /* NO LONGER JUSTIFIED here either - see the block at the top of this file.
     Justification at every width was asked for explicitly once, and this band
     was always its worst case: a 38ch measure shares the leftover space between
     five or six gaps, which measured 5.41x variance at 375 (a 3.86px space
     stretching to 20.90px). The reversal is deliberate and was flagged; putting
     it back means restoring text-align:justify and hyphens:auto on
     .live_better .lb-lead above. Only size and leading are set here. */
  .live_better .lb-lead{
    font-size:17px;
    line-height:1.7;
  }
  .live_better .lb-pillars-head{ margin-top:32px; font-size:18.5px; }
}

/* Single column from 767 down. The constraint is NOT the viewport, it is
   Bootstrap's stepped .container: it holds 540px from 576 all the way to 767
   and only widens to 720 at 768. So a two-column grid gives each chip 225px
   at 640 and at 700 just as it does at 576 - the icon well and its gap take
   61 of that, "24x7 Emergency and trained nurse Support" wraps to three
   lines, and an 118px chip sits beside an 80px one. Measured at 768 the
   container is 720 and every chip is 341x80, uniform. So the second column
   arrives exactly where the container can pay for it. */
@media (max-width:767px){
  .live_better .lb-pillars{ grid-template-columns:1fr; gap:12px; }
  .live_better .lb-pillar{ min-height:72px; padding:14px; }
  .live_better .lb-pic{ width:42px; height:42px; font-size:17px; }
}

/* ==========================================================================
   Environment
   ========================================================================== */
@media (prefers-contrast:more){
  .section-gaping.live_better{ background-image:none; background-color:#fffdf7; }
  .live_better .lb-pillar{ border-color:#7f6630; box-shadow:none; }
  .live_better .lb-pic{ border-color:#7f6630; background:#fff; }
}

@media (forced-colors:active){
  .section-gaping.live_better{
    background-image:none; background-color:Canvas;
    box-shadow:none; border-bottom-color:CanvasText;
  }
  .live_better .lb-pillar{ background:Canvas; border:1px solid CanvasText; box-shadow:none; }
  .live_better .lb-pic{ background:Canvas; border:1px solid CanvasText; color:CanvasText; }
  .live_better .section_title h2::after{ background:CanvasText; }
}

@media print{
  .section-gaping.live_better{
    background-image:none; background-color:#fff;
    box-shadow:none; border-bottom:1px solid #7f6630;
    padding:18px 0;
  }
  .live_better .lb-pillars{ grid-template-columns:repeat(3, 1fr); gap:8px; }
  .live_better .lb-pillar{ box-shadow:none; border-color:#bbb; min-height:0; padding:8px 10px; }
  .live_better .lb-lead{ text-align:left; text-align-last:left; }
}

/* For anything else that lands in this section later. style2.css:1894
   .live_better p is still live, so a new paragraph would arrive justified,
   auto-hyphenated and tracked -0.05em beside a lead that is none of those.
   Same (0,1,1) specificity as that rule; this wins purely because
   css/sections2.css loads after style2.css (index.php:31 vs :20). The lead
   above is (0,2,0) and is unaffected by this. */
.live_better p{
  text-align:left;
  text-align-last:auto;
  hyphens:manual;
  -webkit-hyphens:manual;
  word-spacing:normal;
}


/* ==========================================================================
   "WE CARE LIKE FAMILY"  (#Services)
   ==========================================================================
   The sibling page's treatment of this exact component - Bootstrap vertical
   pills, five tabs, five panes of a heading, a list and an 800x500
   photograph - ported here so the two campaign pages keep one design. The
   account of what the design does and why is in the sibling's css/banner.css;
   this block is a faithful copy with four things re-aimed at this page:

     1. THE TOKENS. The sibling's block reads --jd-green, --jd-green-deep,
        --jd-gold and --jd-gold-lt from its header.css :root. On this page
        header2.css scopes them to .jd-header and banner2.css declares only
        some of them on :root, so all four are declared on the section itself.
        An undefined custom property does not error - the declaration silently
        does nothing, which is exactly how this page's legacy --green/--black/
        --gold rules have been doing nothing for years.

     2. THE STICKY OFFSET. style2.css:1712 makes .sticky_div stick at top:100px
        - against a header that is 146px tall at rest and 102px once condensed.
        The rail was sliding up UNDER the bar. It sticks at 114px from 992 up
        (102 + 12) and at 70px between 768 and 991 (a 56px condensed bar + 14).

     3. THE HOVER/ACTIVE COLLISION lives at style2.css:1727 (:hover #4f6f52)
        and :1731 (.active #4f6f52 !important) here, not style.css:1667/1671.
        Same defect, same answer: while the pointer is in the rail you cannot
        tell which tab is open, so hover and active are made different things.
        The active plate is flagged only because the legacy one is.

     4. THE OTHER USERS of these classes on this page: .section_gaping_bg1 is
        also on #Amenities (index.php:977), .tick is on the pricing row
        (:830) and .sticky_div is on eleven elements. Everything here is scoped
        through .we_care, which index.php now puts on this section alone.

   AND ONE THING THE SIBLING DID NOT HAVE TO FIX: responsive2.css:209 hides
   the five tab icons outright on portrait tablets (`.left_nav .nav-pills
   .nav-link img{display:none}`). The icon rule below is one class more
   specific and puts them back.
   ========================================================================== */

.section-gaping.we_care{
  --jd-green:#4f6f52;
  --jd-green-deep:#2b3f2f;
  --jd-gold:#cbb279;
  --jd-gold-lt:#e3cf9c;
}


/* --- the ground ----------------------------------------------------------
   Was: .section_gaping_bg1{background:#e6eee7} — Y=0.837416, L*=93.34, on
   which the white panel measured 1.183:1. The paper next door had exactly
   this problem and was solved by driving the ground down until the white
   objects lifted off it. The same arithmetic applies, but the target here is
   not "darker", it is a specific number: match the paper's LIGHTNESS.

     paper above  #eae2c8  L* 89.885   ->  #e9e1c7 after grain, L* 89.435
     this plane   #dbe5dc  L* 89.983   ->  #dae4db after grain, L* 89.532
     dL* after grain = 0.097

   Under a tenth of a CIE lightness step. So the two rooms are the same wall at
   the same brightness and the ONLY thing that changes across the threshold is
   the finish: warm lime paper on one side, cool green plaster on the other.
   Hue moves, value does not. That is what makes it read as architecture rather
   than as two coloured bands, and it is a principle the rest of the page can
   use rather than a patch for this one seam.

   Read the stack bottom-up, since CSS lists the topmost layer first:
     3  the light     168deg, px stops, the SAME lean and the same warm white
                      as the plinth room, because it is the same source seen
                      from further away. It dies at 300px, not 660px: only the
                      title and its rule need it, and a longer throw would eat
                      the panel's separation exactly where the panel's top edge
                      lives (y~198, where alpha is .10 and white-vs-ground is
                      still 1.283:1). It does a second job for free — the first
                      80px of a cool plane are warm, so the paper's colour
                      temperature carries across the seam and then cools out.
                      One gesture, two seams' worth of work.
     2  the foot      the section BELOW (.section-gaping.senior_living) has no
                      background rule and is therefore plain #fff. This room
                      does not close against that white, it dissolves into it:
                      the last pixel measures 1.070:1 against it. There is no
                      brass rule at the foot BECAUSE there is no edge there to
                      draw — see the note under --wc-foot.
     1  grain         the plinth's own feTurbulence at .026, identical to the
                      paper room's tile, because this ground is also light.
                      Texture, not dither. 298 bytes. (fractalNoise averages
                      0.5 in all four channels including alpha, so this lays
                      1.3% coverage of mid-grey over the plane — which is why
                      #eae2c8 grains to #e9e1c7 and #dbe5dc to #dae4db.)

   Verified across the whole field at the DARKEST point, the settled plane
   after grain (#dae4db), not the lightest:
     body    #3f4a41  7.083:1   (AAA holds; 7.58:1 where the subtitle sits)
     heading #2b3f2f  8.658:1   (9.27:1 where the h2 sits)
     white panel vs ground  1.3077:1  (was 1.1832:1 — a 1.61x improvement)
   No pseudo-element, so no position:relative is needed and nothing here can
   disturb the sticky rail.

   Specificity 0-2-0, which beats .section_gaping_bg1 (0-1-0) and
   .section-gaping (0-1-0) without !important. background-size is deliberately
   not declared, so the grain tile keeps its intrinsic 120x120 and the
   gradients keep 100% 100% — the same choice the paper room makes. */
.section-gaping.we_care{
  padding:56px 0 60px;

  /* the length of the foot dissolve, held in a custom property so the two
     responsive blocks can shorten it in ONE token when the padding shrinks.
     It must never exceed padding-bottom: the panel's lower edge sits exactly
     that far up, and a dissolve that reached it would wash out the panel's
     separation at the one place the eye checks it. */
  --wc-foot:60px;

  /* the settled plane, and the honest fallback: if any layer below fails to
     parse, the whole background-image is dropped and this is what remains, on
     which body copy still measures 7.169:1 and the panel still reads 1.292:1 */
  background-color:#dbe5dc;

  background-image:
    /* 1 - grain */
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='wcg'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='120' height='120' filter='url(%23wcg)' opacity='.026'/%3E%3C/svg%3E"),

    /* 2 - the foot, dissolving into the white section below. `to top` puts the
       gradient line's origin at the BOTTOM, so the stops are measured up from
       the skirting:  0 -> #f6f8f6 (1.070:1 vs #fff),  22px -> #e4ebe5,
       and it is fully spent at the panel's lower edge. */
    linear-gradient(to top,
      rgba(255,255,255,.78) 0,
      rgba(255,255,255,.30) calc(var(--wc-foot) * .37),
      rgba(255,255,255,0)   var(--wc-foot)),

    /* 3 - the seam carry. The 168deg layer below is a RAKING light, so its
       t = 0.2079x + 0.9781y: the top-right corner sits at t = 0.2079W, which
       is 299px at 1440 and 399px at 1920 - past the raking layer's 300px
       throw. Left alone, the warm paper carried across the threshold only at
       the left edge and the seam re-opened as a cold butt joint on the right.
       This layer is vertical and full-width so the carry is even, and it is
       spent at 120px, far above the panel's top edge, so it cannot wash out
       the 1.283:1 panel separation. */
    linear-gradient(to bottom,
      rgba(255,252,240,.34) 0,
      rgba(255,252,240,0)   120px),

    /* 4 - the light through the doorway. Same 168deg, same warm white as the
       plinth room, shorter throw. Composited over the grained plane it runs
         y=0    #faf8ed  L* 97.46   heading 10.63:1  body 8.70:1
         y=80   #e9eee3  L* 93.42   heading  9.59:1  body 7.85:1
         y=175  #dfe7de  L* 90.77   heading  8.95:1  body 7.32:1
         y=300+ #dae4db  L* 89.53   heading  8.66:1  body 7.08:1
       The rise-then-settle is what reads as light rather than as a gradient. */
    linear-gradient(168deg,
      rgba(255,252,240,.90)   0,
      rgba(255,252,240,.44)  80px,
      rgba(255,252,240,.14) 175px,
      rgba(255,252,240,0)   300px);

  background-repeat:repeat, no-repeat, no-repeat;

  /* NO border-bottom, and NO inset top lip — both deliberate omissions.
     .live_better closes with border-bottom:1px rgba(203,178,121,.45), which
     composites to #dbcca4 and measures 1.217:1 against its own paper and
     1.498:1 against this room's lit top. That single rule already reads from
     BOTH sides, so it is the threshold; a second line below it would be a
     double rule and a white lip under it measured 1.027:1 — invisible work.
     At the foot there is no edge at all to draw: the ground becomes the white
     of the next section, and a rule there would put a line in the middle of
     nothing. Three joins on this page, three honest treatments: a brass
     threshold above, a dissolve below. */
}

/* --- the title ----------------------------------------------------------
   .section_title h2:after (style.css:41) is position:absolute with
   bottom:-5px and has already caused two overlap bugs on this page. It is
   neutralised EXPLICITLY here — static, block, and re-drawn as flow content —
   rather than inherited, and re-cut as the same 58px fading-brass hairline the
   plinth room and the form use. Repeating the building's ornament is what
   makes two rooms read as one building.
   The !important on font-size is not optional and it is not laziness:
   responsive.css:52 sets .section_title h2{font-size:20px!important} under
   (max-width:767px) and style.css:451 sets .h2,h2{font-size:20px!important}
   under (max-width:575.98px). No amount of specificity beats an important
   declaration. Everything else here wins on specificity alone — 0-2-1 against
   style.css's 0-1-1, and 0-2-1 against responsive.css:162's 0-1-1. */
.we_care .section_title{ margin-bottom:32px; }
.we_care .section_title h2{
  font-family:Helvetica, sans-serif;
  font-size:clamp(23px, 2.7vw, 34px) !important;   /* matched to .live_better's
     h2 on purpose: a larger figure here would out-shout the room above and
     break the descent through the page */
  font-weight:700;
  line-height:1.25;
  color:var(--jd-green-deep);        /* #2b3f2f — 8.658:1 at the darkest point */
  max-width:24ch;                    /* "Care Like Family" is 16 — one line. Measured:
                                        183px of text in the 307px this cap gives
                                        at 23px, and 270px in 454px at 34px. */
  margin:0 auto;
}
.we_care .section_title h2::after{
  position:static; display:block;    /* kills the absolute 4px #cbb279 bar */
  content:"";
  width:58px; height:1px;
  margin:16px auto 0;
  background:linear-gradient(90deg,transparent,rgba(203,178,121,.95),transparent);
}
.we_care .section_title p{
  /* p{font-size:15px} at style.css:23 is below the 16px floor this audience
     needs, and .section_title p{font-weight:500} sets a line of introduction
     in semibold, which reads as a second heading. */
  /* No cap. An earlier 46ch cap resolved to 435px against a string that
     measured 440px - five pixels short - so it broke over two lines at EVERY
     width; removing the cap let it set on one line wherever the container
     could hold it.
     2026-09-09: the line is now "We believe that the best senior living
     experience is made possible through care", which measures 596px at 17px
     Helvetica rather than the old 440px. Measured again after the change: one
     line from 768px up, two from 360 to 576, three at 320 - and no overflow at
     any width. Two lines of introduction on a phone is fine; what the missing
     cap still buys is that it is never forced to wrap on a desktop. */
  max-width:none;
  margin:16px auto 0;
  font-size:17px;
  font-weight:400;
  line-height:1.6;
  color:#3f4a41;                     /* 7.58:1 where it sits, 7.08:1 floor */
}

/* --- the sticky offset ---------------------------------------------------
   .sticky_div is top:100px but .jd-header is fixed at
   var(--jd-ribbon-h) + var(--jd-bar-h) = 106px at >=992 and 96px at 768-991,
   so today the rail slides 6px UNDER the header every time it sticks. Express
   the offset in the header's own tokens rather than a magic number and it
   maintains itself: 120px on desktop, 110px on tablet, each clearing its own
   header with 14px to spare.

   The min-width guard is load-bearing. responsive.css:111 sets
   .sticky_div{position:relative;top:0} under (max-width:767px); a bare
   .we_care .sticky_div{top:...} at 0-2-0 would beat that `top:0` while leaving
   position:relative alone, which would shove the rail 110px DOWN the page on
   every phone. Only declare an offset where the element is actually sticky. */
/* --- equal-height plates -------------------------------------------------
   The rail is 398px at desktop and the panel only 363-399px depending on which
   tab is open, so the right plate sat ~30px short of the left AND changed
   height every time you clicked. Stretching the row fixes both: the row takes
   the height of whichever plate is taller and the other fills it.

   The sticky has to move for this to work. `.sticky_div` is on .nav_left, the
   COLUMN, and a stretched column is exactly as tall as its own containing
   block - so it can never scroll within it and sticky becomes a no-op. Put the
   sticky on the .nav-pills plate INSIDE the column instead: the column now
   stretches to the row, and the plate sticks within it. When the panel is the
   taller of the two (which is every width below 992px, where the narrower
   column wraps the copy) the rail still sticks exactly as before; when the
   rail is taller the column is only as tall as the plate, so there is nothing
   to scroll and it correctly does not stick. */
@media (min-width:768px){
  .we_care .left_nav{ align-items:stretch !important; }   /* .align-items-start
                                       is a Bootstrap utility, so it is !important */
  .we_care .nav_left.sticky_div{ position:static; }       /* 0-3-0 beats .sticky_div */
  .we_care .left_nav .tab-content{ height:100%; }
  /* the plate carries `mb-2` in the markup and Bootstrap ships
     .mb-2{margin-bottom:.5rem!important}. Left alone the column measures the
     plate PLUS 8px, so the panel stretched to 406px against a 398px rail and
     the two boxes still did not line up. Zero it and they match exactly. */
  .we_care .nav_left .nav-pills{ margin-bottom:0 !important; }

  /* NOT --jd-ribbon-h + --jd-bar-h. Those describe the UN-condensed header,
     which cannot coexist with this rail being stuck: index.php adds
     .jd-scrolled at scrollY>96 and only removes it below 44, and this section
     is thousands of pixels down the page, so by the time the rail sticks the
     ribbon is collapsed to 0 and the bar is 54px here / 58px above. Offsetting
     against 106px left ~60px of dead air over the rail. */
  .we_care .nav_left .nav-pills{ position:sticky; top:70px; }  /* 54px bar + 14 */
}
@media (min-width:992px){
  .we_care .nav_left .nav-pills{ top:114px; }   /* 58px condensed bar + 14 */
}
/* NB the 768 block is deliberately open-ended rather than capped at 991px. On a
   fractional device-pixel-ratio (1.25 is common on Windows) a viewport of
   991.x matches NEITHER max-width:991px NOR min-width:992px, and a capped
   block would leave that sliver falling through to style.css:1652's legacy
   top:100px. Open-ended, 992+ simply overrides 768+ and nothing can fall
   between them. */
/* every pane's .card-body ALSO carries .sticky_div. Its containing block is
   the pane, which is never taller than it is, so it can only ever let the text
   drift away from its own plate. Off. 0-4-0 against style.css:1652's 0-1-0. */
.we_care .tab-content .card-body.sticky_div{ position:static; top:auto; }

.we_care .left_nav{ margin-top:8px; }   /* style.css:1655 sets 20px on the ROW;
                                           the section padding carries that air */

/* --- the two plates -------------------------------------------------------
   The rail and the panel are the same object made twice: same 168deg face (the
   light direction of the ground), same #c9d4cb hairline, same two-part shadow
   thrown 2px right and 18px down, because the light is up and to the left.
   #c9d4cb is chosen to be a real edge on BOTH sides — 1.526:1 against the
   plate it bounds and 1.167:1 against the ground it sits on. The #e6ebe8 the
   paper room uses for its cards would have measured 1.059:1 against this
   ground: it would have vanished exactly where the plate meets the wall.

   This section runs a three-step hairline register and every line knows which
   step it is on:  plate edge #c9d4cb 1.526:1  >  heading rule #d9e2db
   1.325:1  >  list divider #e0e7e2 1.258:1.

   No overflow:hidden anywhere — it would clip the focus ring. */
.we_care .left_nav .nav-pills,
.we_care .left_nav .tab-content{
  background:linear-gradient(168deg,#ffffff 0%,#fbfcfb 100%);
  border:1px solid #c9d4cb;
  border-radius:14px;
  box-shadow:0 1px 2px rgba(34,51,31,.05),
             2px 18px 34px -22px rgba(34,51,31,.42);
}
.we_care .left_nav .nav-pills{
  /* 6px, not Bootstrap's 0. This is the focus ring's clearance and it is
     chosen, not inherited: the ring below is 2px thick at outline-offset:3px,
     so it reaches 5px beyond the pill's own box, and outlines paint without
     affecting layout. At any gap under 5px that ring lands ON the neighbouring
     pill — and when the neighbour is the active one it would be #2b3f2f on
     #3a5240, i.e. 1.327:1, invisible. 6px keeps a pixel in hand. */
  padding:6px;
}

/* --- the pills ------------------------------------------------------------
   style.css:1685 paints these with a 200%-wide left-sliding green gradient and
   style.css:1702 turns the label white on hover — which is exactly what
   style2.css:1731 does for .active. The two states are indistinguishable, and
   during the 500ms wipe the label straddles the boundary between #000-on-pale
   and #000-on-green. The base rule below replaces the shorthand at 0-4-0,
   which ALSO resets background-size (200% 100%, 0-3-0) and background-position
   (right bottom, 0-3-0) to their initial values in the same declaration, and
   replaces transition:all .5s with a named list so a 500ms `all` no longer
   drags the shadows around.

   border:0 removes the 1px #4f6f52 rules between pills; they come back as
   inset ::after hairlines that do not fight the rounded plate hover and active
   paint under them. font-family:inherit is required — these are <button>s.

   min-height 72px = a 46px seal plus 13px of padding either side. The rail is
   this section's entire control surface and the audience is 55+; the target is
   generous by a wide margin over the 44px floor. */
.we_care .left_nav .nav-pills .nav-link{
  position:relative;
  --wc-pill-x:14px;                  /* drives the divider inset below too */
  display:flex; align-items:center;
  width:100%; min-height:72px;
  padding:13px var(--wc-pill-x);
  text-align:left;
  white-space:normal;
  overflow-wrap:break-word;
  font-family:inherit;
  font-size:16px;                    /* never below 16px for this audience */
  font-weight:600;
  line-height:1.3;
  color:var(--jd-green-deep);        /* 11.32:1 on the plate; was #000 */
  background:transparent;
  border:0;
  border-radius:9px;
  -webkit-tap-highlight-color:transparent;
  transition:background-color .25s ease, color .25s ease, box-shadow .25s ease;
}
/* the divider, drawn INSIDE the pill's own box (bottom:0, not -1px) so it can
   never land on top of the plate that :hover or .active paints beneath it —
   which is why no :has() selector is needed anywhere in this file. */
.we_care .left_nav .nav-pills .nav-link::after{
  content:"";
  position:absolute; left:var(--wc-pill-x); right:var(--wc-pill-x); bottom:0; height:1px;
  background:#e0e7e2;                /* 1.258:1 on the plate — quiet, but read */
  transition:opacity .25s ease;
}
.we_care .left_nav .nav-pills .nav-link:last-child::after,
.we_care .left_nav .nav-pills .nav-link.active::after{ opacity:0; }

/* the pill-to-pill separation, on margin rather than the plate's flex `gap`
   for the same cross-browser reason as the seal above. This distance is load
   bearing: the focus ring below is 2px at outline-offset:3px, so it reaches
   5px past the pill's own box and outlines paint without affecting layout. At
   any less than 5px that ring lands ON the neighbour, and when the neighbour
   is the active pill it would be #2b3f2f on #2b3f2f - invisible. 6px keeps a
   pixel in hand. */
.we_care .left_nav .nav-pills .nav-link + .nav-link{ margin-top:6px; }

/* hover: a lift, not an inversion. :not(.active) makes this order-independent
   against the .active rule below (0-6-0 against 0-5-0) and it is gated behind
   (hover:hover) so a touch device never sticks in a hover state after a tap.
   The nosing is GREEN here and BRASS on .active — "you may go here" against
   "you are here" — and the seal only grows very slightly, because the active
   state has to stay unmistakably the louder of the two. */
@media (hover:hover){
  .we_care .left_nav .nav-pills .nav-link:not(.active):hover{
    background-color:#edf3ee;                   /* 1.126:1 off the plate */
    color:var(--jd-green-deep);                 /* 10.06:1 on the tint */
    box-shadow:inset 3px 0 0 var(--jd-green);   /* #4f6f52 — 5.004:1 on it */
  }
  .we_care .left_nav .nav-pills .nav-link:not(.active):hover::after{ opacity:0; }
  .we_care .left_nav .nav-pills .nav-link:not(.active):hover img{
    transform:scale(1.04);
  }
}
/* a press state for touch, where there is no hover to give any feedback */
.we_care .left_nav .nav-pills .nav-link:active{ transform:translateY(1px); }

/* active. THIS is the one paint declaration on the page that needs !important.
   style2.css:1731 is `.left_nav .nav-pills .nav-link.active{background:#4f6f52
   !important}` at 0-4-0, and an important declaration can only be beaten by
   another important declaration; among those, specificity decides. The
   selector below is 0-5-0 + !important, so it wins cleanly. The `color:#fff`
   in that same legacy rule carries NO !important, so my color needs no flag
   and does not get one.

   The paint is deepened from #4f6f52 to the ribbon's own #3a5240 -> #2b3f2f
   for a reason that is not taste: white on #4f6f52 measures 5.633:1, which is
   AA and not AAA. White on #3a5240 measures 8.534:1 and on #2b3f2f 11.322:1,
   so the selected tab's label is AAA at every point of its own gradient. */
.we_care .left_nav .nav-pills .nav-link.active{
  color:#fff;
  background:linear-gradient(160deg,#3a5240 0%,#2b3f2f 100%) !important;
  box-shadow:inset 3px 0 0 var(--jd-gold),        /* brass nosing, 4.138:1 */
             inset 0 1px 0 rgba(255,255,255,.10),
             0 6px 14px -8px rgba(34,51,31,.55);
}

/* focus. Bootstrap 5.1.3 ships no .nav-link focus box-shadow (only
   `.nav-link:focus,.nav-link:hover{color:#0a58ca}` at 0-2-0, beaten by the
   base rule at 0-4-0), so there is no blue glow to suppress — only the UA
   ring, replaced here with the header's own idiom (header.css:281): 2px solid,
   offset 3px, deep green.

   The offset is structural, not decoration. A #2b3f2f ring laid DIRECTLY on
   the active pill would measure 1.327:1 and fail 1.4.11. At offset:3px the
   ring never touches the pill — a 3px band of plate sits between them — so the
   indicator is legible on both of its sides: ring against plate 11.32:1, plate
   against pill 8.534:1. And it never reaches the neighbour either, because
   2 + 3 = 5px of reach against the 6px gap set above. */
.we_care .left_nav .nav-pills .nav-link:focus-visible{
  outline:2px solid var(--jd-green-deep);
  outline-offset:3px;
  border-radius:9px;
}

/* --- the five seals -------------------------------------------------------
   THE SECTION'S ONE GESTURE, so it is the one place that gets a detail budget.

   The PNGs are 32x32 RGBA and every opaque pixel in all five is exactly
   rgb(203,179,127) — brass, one step off --jd-gold (#cbb279). They are already
   the brand's metal, already downloaded, and there is nothing to replace them
   WITH that would say more; five Font Awesome glyphs would make this rail
   texturally identical to the six FA medallions in .live_better directly
   above, which is the same device twice running.

   What they lacked was a ground. Brass on a light pill is ~2:1 and looks
   tarnished. So the <img> ITSELF becomes the medallion: padding + background +
   border-radius on the element means the raster paints in the content box and
   the dark disc fills the padding box — no wrapper element, no markup change.
   46px with 7px of padding leaves a 32px content box (and 44px with 6px at <=991), so the raster renders at
   its NATIVE size and is never resampled. That matters: these are thin line
   drawings (133-276 opaque pixels out of 1024) and any downscale would mush
   them, which is the wrong trade for a 55+ reader.

   This inverts .lb-ic next door — their 52px LIGHT dish holds a GREEN glyph,
   this 46px DARK dish holds a BRASS one — which is the ribbon's own colour
   logic, and it makes the two rooms read as one design language rather than
   one repeated device. Brass goes from ~2:1 to 4.183:1 at the top of the dish
   and 6.593:1 at its foot.

   display:block also restores the seals at iPad portrait, where
   responsive.css:149 hides them (0-3-1, beaten by this rule's 0-4-1). That
   hide dates from when they were bare 32px rasters jammed against a label in a
   216px column; with a dish, a flex gap and a wrapping label there is nothing
   left to patch, so it is retired deliberately rather than by accident.

   NOTE: no CSS filter recolours the glyph, and none can — filter applies to
   the element's entire rendered output, so it would black out the medallion
   background painted on that same element. */
.we_care .left_nav .nav-pills .nav-link img{
  display:block;
  flex:0 0 auto;
  box-sizing:border-box;
  width:46px; height:46px;
  padding:7px;                       /* 46 - 14 = a 32px content box, 1:1 */
  margin:0 14px 0 0;                 /* replaces a flex gap: `gap` is unsupported
                                        on Safari < 14.1 / Chrome < 84 and there
                                        is no reliable @supports probe for it,
                                        and this is the ONLY thing separating
                                        the seal from its label. Also kills
                                        style.css:1697's margin-right:5px. */
  border-radius:50%;
  background:linear-gradient(150deg,#2b3f2f 0%,#22331f 100%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.10),
             0 2px 5px -2px rgba(34,51,31,.45);
  object-fit:contain;
  transition:background .3s ease, box-shadow .3s ease,
             transform .35s cubic-bezier(.34,1.35,.5,1);
}
/* on the selected pill the disc goes DARKER than the plate it sits on and
   takes a bright brass rim: a seal struck into the plate. The rim is doing
   real work, not decoration — the disc's interior against the pill measures
   only 1.576:1, so the edge has to be carried by the line. #e3cf9c measures
   5.556:1 against #3a5240 and 8.756:1 against the disc, and the glyph gains
   contrast in the bargain: 6.593:1 rising to 8.179:1 down the dish.
   The rim is a spread-only box-shadow, not a border, so the content box never
   changes and the raster never shifts by a pixel between states. */
.we_care .left_nav .nav-pills .nav-link.active img{
  background:linear-gradient(150deg,#22331f 0%,#16210f 100%);
  box-shadow:0 0 0 1px var(--jd-gold-lt),
             inset 0 1px 0 rgba(255,255,255,.06);
}

/* --- the panel, the rail's twin ------------------------------------------
   style.css:1676 gives it background:#fff, no border, no radius and a
   0 0 12px #ccc halo that glows evenly in all directions — a light source, not
   a shadow, and the clearest tell of the era this section is being pulled out
   of. It takes the same face, hairline and directional shadow as the rail
   (declared together, above). Its weakest separation from the ground is
   1.283:1, at its top edge (y~198) where the doorway light is still at alpha
   .10; below that it settles to 1.3077:1. The old panel never got above
   1.183:1 anywhere.
   width:100% from the legacy rule is deliberately left alone: no margin is
   added here, so the panel's right edge stays on the section's own alignment
   line. */
.we_care .left_nav .tab-content{
  padding:clamp(20px, 2.4vw, 32px);
  color:#3f4a41;                     /* 9.263:1; was #000 at a hard 21:1 */
}
.we_care .tab-pane > .row{ align-items:center; }

/* pane headings. h4 is a bare element selector in style.css (25px/700/#4f6f52,
   dropping to 20px under 575.98px). Kept large, taken to --jd-green-deep for
   11.32:1, and separated from its list by a plain hairline. The rule is
   NEUTRAL, not brass, on purpose: brass is spent on the title ornament and on
   the rail's state marker, and a third brass mark here would dilute both. */
.we_care .tab-content h4{
  font-size:clamp(19px, 1.7vw, 23px);
  font-weight:700;
  line-height:1.3;
  letter-spacing:.005em;
  color:var(--jd-green-deep);
  margin:0 0 18px;
  padding-bottom:14px;
  border-bottom:1px solid #d9e2db;   /* 1.325:1 — the middle hairline step */
}

/* --- the ticked lists ----------------------------------------------------
   style.css:1567 sets width:30px;height:30px on an INLINE :before, where both
   are silently ignored, then leans on margin-left:-25px against the ul's
   margin-left:25px to fake a hanging indent. The indent is the right idea; the
   box was never real, and because the mark is pulled INTO the indent, the
   second line of any wrapping item runs back underneath its own checkmark.
   Several of the twenty-one items across these five panes wrap.

   Rebuilt as a true hanging indent: the li is the positioning context and the
   mark is absolute at left:0, so wrapped lines align under the first character
   every time. This is the one change in the section that a reader will feel
   rather than see, and for a 55+ audience it is worth more than any of the
   modelling above it.

   The mark KEEPS \f14a. It is the page's affirmative mark — the Facilities
   section immediately below uses the same .tick idiom — and changing it here
   would desynchronise two adjacent lists for no gain now that the marks carry
   no dish of their own. Keeping it also means the FA5/FA6 codepoint trap is
   never engaged rather than merely survived. (\f00c was verified anyway, since
   it was the obvious alternative: fa-solid-900.ttf parses to 3 cmap subtables
   at pid/eid 0/3 fmt4, 1/0 fmt0, 3/1 fmt4, 960 codepoints across U+F000-F8D9;
   \f00c is at gid 13 with a real 1-contour outline, bbox (0,1)-(512,383);
   \f14a is at gid 239 with 2 contours, which confirms the parse. Both are also
   present in the fa-solid-900.svg shipped beside it, and css/all.css:7800
   declares "Font Awesome 5 Free" weight 900 against those same files.)

   .9em x 1.8 = 26.7px, which is exactly the li's 16.5 x 1.62 line box — that
   is what puts the mark on the first line's optical centre and keeps it there
   if the reader zooms. transition is removed: style.css:1567 animates `all`
   for a mark that never changes.

   Specificity: .we_care .tab-content.tick ul is 0-3-1 over style.css:1940's
   0-2-1; .we_care .tick ul li is 0-2-2 over responsive.css:165's 0-1-2, which
   is what pins body copy at 16.5px in the 820-1180 landscape band where the
   legacy rule drops it to 15px. */
.we_care .tab-content.tick ul{
  padding-left:0;
  margin:0;
}
.we_care .tick ul li{
  position:relative;
  /* the well is in em, not px, because the mark inside it is: Font Awesome's
     check-square has a .875em advance at font-size:.9em = .7875em, and under
     Firefox's text-only zoom (which scales font-size but not px padding) a
     30px well is overrun at ~262%. 1.85em keeps 1.06em of clearance at every
     zoom level, and resolves to 30.5px at 100% - unchanged to the eye. */
  padding-left:1.85em;
  margin:0 0 13px;
  font-size:16.5px;
  line-height:1.62;
  color:#3f4a41;                     /* 9.263:1 on the panel */
}
.we_care .tick ul li:last-child{ margin-bottom:0; }
.we_care .tick ul li::before{
  position:absolute;
  left:0; top:0;
  width:auto; height:auto;           /* the legacy 30x30 box is inert on an
                                        inline pseudo-element and misleading on
                                        an absolute one — drop it, do not
                                        inherit it */
  margin:0;                          /* undoes -25px left / 6px right */
  font-size:.9em;
  line-height:1.8;
  color:var(--jd-green);             /* 5.633:1 — the page's tick colour */
  transition:none;
}

/* --- the photographs -----------------------------------------------------
   All five sources are exactly 800x500, so 8/5 crops nothing today; declaring
   the ratio rather than inheriting it costs nothing and buys a reserved box,
   so the panel does not reflow while a .webp decodes and the page height does
   not jump between tabs. These <img> carry no width/height attributes, so
   without this every first paint and every tab switch shifts layout — a Core
   Web Vital, on a page bought with Google Ads money.
   Radius and shadow are the panel's, scaled down and thrown in the same
   direction, so the photograph is an object lying in the same light rather
   than a rectangle punched through the plate. The 1px ring is a spread-only
   shadow, so it adds no layout box and cannot fight .img-fluid. */
.we_care .tab-pane img{
  display:block;
  width:100%;
  height:auto;
  aspect-ratio:8 / 5;
  object-fit:cover;
  border-radius:12px;
  box-shadow:0 0 0 1px rgba(34,51,31,.14),     /* #e0e2e0 — 1.299:1 on the plate */
             2px 16px 30px -20px rgba(34,51,31,.55);
}

/* ---------- responsive ---------- */
@media (max-width:991px){
  /* --wc-foot tracks padding-bottom, or the dissolve would reach the panel */
  .section-gaping.we_care{ padding:44px 0 46px; --wc-foot:46px; }
  .we_care .section_title{ margin-bottom:26px; }
  .we_care .left_nav .nav-pills .nav-link{
    --wc-pill-x:12px;                /* the divider inset follows this */
    min-height:66px; padding:12px;
  }
  /* 44, not 38. border-radius:50% on a 38px box clips at r=19, but the raster's
     ink reaches r=21.22 in two of the five icons (welness, Physical-Care), so
     their corners were being shaved. 44 - 12 = a 32px content box, still 1:1,
     and r=22 now clears the worst-case ink. */
  .we_care .left_nav .nav-pills .nav-link img{
    width:44px; height:44px; padding:6px; margin-right:10px;
  }
  /* col-md-12 stacks the pane's two columns: the photograph drops below its
     text and needs air */
  .we_care .tab-pane > .row > div + div{ margin-top:20px; }
}

@media (max-width:767px){
  .section-gaping.we_care{ padding:34px 0 36px; --wc-foot:36px; }
  .we_care .section_title{ margin-bottom:22px; }
  .we_care .section_title p{ font-size:16px; }   /* the floor, not below it */
  /* the rail is above the panel here, so it needs a real gap. The !important
     is unavoidable: the div carries `mb-2` in the markup and Bootstrap 5.1.3
     ships .mb-2{margin-bottom:.5rem!important}, so any weight of specificity
     without a flag loses and the two plates sit 8px apart. */
  .we_care .left_nav .nav-pills{ margin-bottom:20px !important; }
  .we_care .tick ul li{ font-size:16px; }
}

@media (max-width:479px){
  /* at 320px: 320 - 24 container - 2 border - 32 padding - 28 indent = 234px
     of measure, ~29 characters at 16px. Tight but honest, and no overflow. */
  .we_care .left_nav .nav-pills .nav-link{ --wc-pill-x:10px; padding:11px 10px; }
  .we_care .left_nav .nav-pills .nav-link img{ margin-right:9px; }
  .we_care .tick ul li{ padding-left:1.75em; }
}

/* ---------- motion ---------- */
/* the section title carries an inline style="animation-name:zoomIn" from
   .wow, and the two columns carry fadeInUp / fadeInDown. Only an !important
   rule beats an inline declaration, and visibility has to be forced with it or
   an element WOW.js has not yet revealed stays hidden forever. */
@media (prefers-reduced-motion:reduce){
  .we_care .wow{ animation:none !important; visibility:visible !important; }
  .we_care .left_nav .nav-pills .nav-link,
  .we_care .left_nav .nav-pills .nav-link::after,
  .we_care .left_nav .nav-pills .nav-link img{ transition-duration:.01ms !important; }
  .we_care .left_nav .nav-pills .nav-link:hover img,
  .we_care .left_nav .nav-pills .nav-link:active{ transform:none !important; }
}

/* ---------- prefers-contrast ---------- */
/* Dropping the images leaves the plane already declared above, which raises
   both text minima at once (body 7.083 -> 7.169:1, heading 8.658 -> 8.763:1)
   and flattens panel separation to a constant 1.292:1. The hairlines then have
   to do the work the modelling was doing, so they go to #93a697 — 2.579:1 on
   the plates and 1.996:1 on the ground, roughly a 70% gain on both — and the
   selected pill flattens to a single #2b3f2f, putting its label at 11.322:1
   and its brass nosing at 5.490:1. */
@media (prefers-contrast:more){
  .section-gaping.we_care{ background-image:none; }
  .we_care .left_nav .nav-pills,
  .we_care .left_nav .tab-content{
    background:#fff;
    border-color:#748578;
  }
  .we_care .left_nav .nav-pills .nav-link::after{ background:#748578; }
  .we_care .left_nav .nav-pills .nav-link.active{ background:#2b3f2f !important; }
  .we_care .tab-content h4{ border-bottom-color:#748578; }
  .we_care .tab-pane img{ box-shadow:0 0 0 1px #5f6f62; }
}

/* ---------- forced-colors ---------- */
/* forced-colors overrides background-COLOR but leaves background-IMAGE alone,
   so the grain and both gradients have to be dropped by hand or they survive
   on top of the system Canvas. Nothing in them carries information the system
   palette cannot re-state. Declared AFTER prefers-contrast on purpose:
   Chromium matches both under Windows High Contrast and this one has to win.
   The selected pill is repainted with system keywords rather than left to
   ButtonFace, because a tab control with no visible selected state is broken
   at any contrast level. forced-color-adjust is deliberately NOT set to none
   anywhere — the point is to hand the user's palette control, not take it. */
@media (forced-colors:active){
  .section-gaping.we_care{
    background-image:none;
    background-color:Canvas;
  }
  .we_care .left_nav .nav-pills,
  .we_care .left_nav .tab-content{
    background:Canvas;
    border:1px solid CanvasText;
    box-shadow:none;
  }
  .we_care .left_nav .nav-pills .nav-link{ color:ButtonText; }
  .we_care .left_nav .nav-pills .nav-link::after{ background:CanvasText; }
  .we_care .left_nav .nav-pills .nav-link.active{
    background:Highlight !important;
    color:HighlightText;
    box-shadow:none;
  }
  .we_care .left_nav .nav-pills .nav-link:focus-visible{
    outline:2px solid CanvasText;
    outline-offset:3px;
  }
  /* image content is exempt from forced colours, so the brass glyphs stay
     brass; strip the dish so they sit on the system ground rather than mine */
  .we_care .left_nav .nav-pills .nav-link img{
    background:none;
    box-shadow:0 0 0 1px CanvasText;
  }
  .we_care .tab-content h4{ border-bottom-color:CanvasText; }
  .we_care .tab-pane img{ box-shadow:none; outline:1px solid CanvasText; }
}

/* ---------- print ---------- */
/* Today this section prints ONE of its five panes, because
   .tab-content>.tab-pane{display:none} and .fade:not(.show){opacity:0} are
   still in force on paper: four fifths of the content is silently lost. Both
   are 0-2-0 and both are beaten here on specificity alone, so all five panes
   print, separated by a rule.

   The rail is then hidden — the one place anything is removed — and it is safe
   because it is pure duplication: the five pill labels (Wellness Services /
   Round The Clock Support / Nutritious Meal / Physical Care / Stress
   Management) are the same five strings as the five pane <h4>s, which now all
   print. A tab control is a thing you operate; on paper it is five words
   printed twice. Net effect: print GAINS four panes and loses nothing.

   The column is widened with `width`, not `max-width`: Bootstrap 5.1.3 ships
   .col-md-8{flex:0 0 auto;width:66.66666667%}, so the Bootstrap-4 idiom of
   flex + max-width would leave the panes on two thirds of the sheet.

   The plane goes to a faint #eef3ef rather than white, because on white the
   panel would sit at 1.00:1 and disappear; a tint costs almost no ink and
   keeps body copy at 8.249:1. The brass goes solid — .45 alpha prints as
   nothing. */
@media print{
  /* FIRST, or none of the rest matters: WOW.js writes an inline
     style="visibility:hidden" onto every .wow element at init and only clears
     it when that element scrolls into view. Printing fires no scroll and
     inline styles are media-independent, so all three .wow elements in this
     section - the title, the rail, and the div wrapping the WHOLE tab-content
     - stay hidden and the section prints blank. Only an author !important
     rule outranks a non-important inline declaration. */
  .we_care .wow{ visibility:visible !important; animation:none !important; }

  .section-gaping.we_care{
    padding:24px 0;
    background-image:none;
    background-color:#eef3ef;
    border-bottom:1px solid #7f6630;
  }
  .we_care .nav_left{ display:none; }
  .we_care .left_nav > *{ width:100%; max-width:100%; flex:0 0 auto; }
  .we_care .sticky_div,
  .we_care .nav_left .nav-pills{ position:static; }
  .we_care .left_nav{ align-items:flex-start !important; }
  .we_care .left_nav .tab-content{ height:auto; }
  .we_care .left_nav .tab-content{
    padding:16px;
    background:#fff;
    border:1px solid #7f6630;
    box-shadow:none;
  }
  .we_care .left_nav .tab-content > .tab-pane{
    display:block;
    break-inside:avoid; page-break-inside:avoid;
  }
  .we_care .left_nav .tab-content > .tab-pane.fade{ opacity:1; }
  .we_care .left_nav .tab-content > .tab-pane + .tab-pane{
    margin-top:18px; padding-top:18px;
    border-top:1px solid #d8d2bd;
  }
  .we_care .tab-content h4{ border-bottom-color:#d8d2bd; }
  .we_care .tab-pane img{ box-shadow:none; outline:1px solid #b9c3ba; }
}


/* ==========================================================================


/* ==========================================================================
   "JAGRITI DHAM: BECAUSE YOU DESERVE A LUXURIOUS SENIOR LIVING"  (#Pricing)
   ==========================================================================
   The pricing section. On the sibling page this content - two payment
   models, a note, fourteen inclusions - was rebuilt as .jd-pricing, "the
   statement of account", and that treatment is ported here so the two
   campaign pages keep one design. The account of what the design does and
   why is in the sibling's css/banner.css from line 9804; this block carries
   the rules and only what differs on this page.

   THE ROOM. The section stays the room it was: same title (the one the page
   navigates to as "Pricing"), same id="Pricing" that both nav links point at
   (index.php:211 and :228), the .senior_living class kept so nothing that
   ever referred to it breaks - and .jd-pricing added as the hook every rule
   below hangs from. The element is now a <section> because the sibling's
   top rule is written against one, and because it is one.

   THE GROUND is the sibling's: #f7f3e9 under a grain at .026, a hairline of
   brass on the foot. Between #Services above (my .we_care block) and
   #Amenities below (style2.css:30, white) it reads as a sheet of paper laid
   on the table, which is what a statement of charges is.

   WHAT THE OLD MARKUP DID, AND WHY NONE OF IT SURVIVES:
     style2.css:1895-1917  .new_stay .new_stay_left_table table th/td - a
                           #9b6f3f header band with white text and 1px
                           #dbaa74 cell borders: a spreadsheet, with the
                           header on a brown the palette does not have. The
                           .new_stay classes are gone from the markup, so
                           these rules match nothing.
     style2.css:1768-1782  .bg1 #d9c69d / .bg2 #f5edda - two tinted columns
                           butted together at g-0, the first of them under
                           three tables. Gone with the classes.
     style2.css:1623-1674  .tick ul li:before - the FA check at 20px in
                           #9b6f3f. The services list keeps a check, but at
                           .9em in the green and set with content:"" as its
                           alternative text, so a screen reader does not
                           read fourteen icon names.
     style2.css:1930       .tc_appli p - "* T&C Applicable" at 10px, rotated
                           180 degrees in vertical writing mode, floated
                           right with margin-top:-70px. Ten pixels is below
                           any floor; it is now .jd-p-tc at 15px, upright.
     style2.css:1929       .small_txt - 12px. Now .jd-p-concierge at 16px.
     style2.css:1927       .new_stay ul li{font-size:14px} - the note, at
                           14px, under the 16px floor for this audience.
                           Now .jd-p-note at 17px.

   WHAT STILL REACHES THE NEW MARKUP, AND HOW IT IS MET:
     style2.css:85 / responsive2.css:49  h3{font-size:30px;color:#4f6f52}
                           (0-0-1) - beaten by .jd-p-band (0-2-0).
     style2.css:37 / responsive2.css:191  p{font-size:15px}, and 13px at
                           320 - beaten by .jd-p-effective/.jd-p-tc (0-2-0).
     style2.css:24         a{color:#4f6f52} - beaten by .jd-p-note a (0-2-1).
     style2.css:505        h2{font-size:20px!important} at <=575.98, and
     responsive2.css:50    .section_title h2{font-size:20px!important} at
                           <=767 - both FLAGGED, so the title's font-size
                           below is flagged too and wins at 0-2-1. That is
                           the only flag this block needs for its own sake;
                           the other three (.wow visibility) are inherited
                           from the sibling and defend against a WOW.js that
                           is not even loaded on this page.
     style2.css:47-58      .section_title h2 and its absolute 60x4 brass bar
                           - restyled exactly as in .live_better and
                           .we_care above: same clamp, same hairline.

   THE ONE THING THIS PAGE ADDS: .jd-p-scroll. Each table sits in a wrapper
   that scrolls sideways if - and only if - the table cannot fit. At 320px
   the content box is 296px and the old tables needed 315, which pushed the
   WHOLE PAGE 34px sideways; the sibling answers that with table-layout:auto
   below 576, and so does this block, but the wrapper is the net underneath.
   No min-width is set, so at every width where the table fits the wrapper
   is inert. js/custom.js gives a wrapper tabindex and a region name ONLY
   while it actually overflows (WCAG 2.1.1), so there are no dead tab stops
   on a desktop where nothing scrolls. Both pieces used to live in
   css/banner2.css against .new_stay; they moved here with the section.
   ========================================================================== */

section.section-gaping.jd-pricing{
  padding:56px 0 60px;
  background-color:#f7f3e9;
  background-image:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='prg'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='120' height='120' filter='url(%23prg)' opacity='.026'/%3E%3C/svg%3E");
  background-repeat:repeat;

  border-bottom:1px solid rgba(203,178,121,.45);
}

.jd-pricing .section_title{ margin-bottom:38px; }

.jd-pricing .section_title h2{
  font-family:Helvetica, sans-serif;
  font-size:clamp(23px, 2.7vw, 34px) !important;
  font-weight:700;
  line-height:1.24;
  letter-spacing:.004em;
  color:#2b3f2f;
  margin:0;
  padding:0;
  position:static;
  text-transform:none;
}

.jd-pricing .section_title h2::after{
  content:"";
  position:static; display:block;
  bottom:auto; left:auto; right:auto;
  width:58px; height:1px;
  margin:18px auto 0;
  background:linear-gradient(90deg,transparent,rgba(203,178,121,.95),transparent);
}

.jd-pricing .jd-p-band{
  font-family:Helvetica, sans-serif;
  font-size:clamp(19px, 1.55vw, 22px);
  line-height:1.3;
  font-weight:700;
  letter-spacing:.01em;
  color:#2b3f2f;
  margin:0 0 18px;
  padding:0;
  text-align:left;
  break-after:avoid; page-break-after:avoid;
}

.jd-pricing .jd-p-terms{
  display:grid;
  grid-template-columns:1fr;
  row-gap:40px;
}

.jd-pricing .jd-p-model .jd-p-scroll ~ .jd-p-scroll{ margin-top:34px; }

.jd-pricing .jd-p-table{
  width:100%;
  table-layout:fixed;
  border-collapse:collapse;
  margin:0;
}
.jd-pricing .jd-p-table col:first-child{ width:34%; }

.jd-pricing .jd-p-table thead th{
  font-family:Helvetica, sans-serif;
  font-size:13px;
  line-height:1.4;
  font-weight:700;
  letter-spacing:.08em;
  color:#3a5240;
  text-align:left;
  vertical-align:bottom;
  padding:0 0 10px;
  border-bottom:2px solid rgba(79,111,82,.34);
  overflow-wrap:break-word;
}

/* --- the deposit table's title ------------------------------------------
   A <caption>, not a cell. It names the whole table - it says what the three
   floor rows are prices FOR - so it runs the full width above the header row
   rather than sitting in the corner column. Two reasons beyond the look: a
   caption is what a screen reader announces as the table's name, and a caption
   takes no part in column sizing, so however long this line gets it can never
   squeeze the price columns the way a wide corner cell does.
   THREE inherited declarations have to be undone here, all from bootstrap's
   reboot: table{caption-side:bottom} would render it UNDER the table,
   caption{text-align:left} and caption{color:#6c757d}.
   Georgia because the page is Helvetica throughout and loads no serif; a web
   font for one line on an ads landing page would cost a request and a flash of
   unstyled text. #22331f is already what prefers-contrast:more asks the table
   heads to become, so that mode needs no separate rule. */
.jd-pricing .jd-p-table caption.jd-p-cap{
  caption-side:top;
  text-align:center;
  font-family:Georgia, 'Times New Roman', Times, serif;
  font-size:18px;                  /* the column heads beneath it are 13px */
  line-height:1.3;
  font-weight:700;                 /* captions are not bold by default */
  letter-spacing:.01em;            /* .08em is tracking for 13px Helvetica;
                                      a serif at 18px does not want it */
  color:#22331f;
  padding:0 0 14px;                /* reboot puts .5rem above and below */
}
/* "100% Refundable" sits under the title as its own line. Helvetica, not the
   caption's Georgia: the title is the name of the table and this is a note
   about it, and letting the two share a face would read as one long heading.
   display:block is what puts it on its own line - .jd-p-term is inline. */
.jd-pricing .jd-p-table caption.jd-p-cap .jd-p-term{
  display:block;
  margin-top:7px;
  font-family:Helvetica, sans-serif;
  font-size:13px;                  /* against the title's 18px */
  letter-spacing:.06em;
}

/* .jd-sr is declared per section in this file; the pricing room had no copy,
   and the deposit table's corner cell now needs one. */
.jd-pricing .jd-sr{
  position:absolute !important;
  width:1px; height:1px;
  margin:-1px; padding:0;
  overflow:hidden;
  clip:rect(0 0 0 0);
  clip-path:inset(50%);
  white-space:nowrap;
  border:0;
}
.jd-pricing .jd-p-table thead th + th{
  text-align:right;
  padding-left:12px;
}

.jd-pricing .jd-p-table tbody th[scope="row"]{
  font-family:Helvetica, sans-serif;
  font-size:17px;
  line-height:1.45;
  font-weight:400;
  color:#22331f;
  text-align:left;
  vertical-align:baseline;
  padding:15px 12px 15px 0;
  border-bottom:1px solid rgba(79,111,82,.20);
  overflow-wrap:break-word;
}

.jd-pricing .jd-p-table tbody td{
  text-align:right;
  vertical-align:baseline;
  padding:15px 0 15px 12px;
  border-bottom:1px solid rgba(79,111,82,.20);
}

.jd-pricing .jd-p-table tbody:last-of-type tr:last-child th[scope="row"],
.jd-pricing .jd-p-table tbody:last-of-type tr:last-child td{ border-bottom:0; }

.jd-pricing .jd-p-fig{
  display:block;
  font-family:Helvetica, sans-serif;
  font-size:20px;
  line-height:1.3;
  font-weight:700;
  letter-spacing:0;
  color:#22331f;
  white-space:nowrap;
  font-variant-numeric:tabular-nums;
  font-feature-settings:"tnum" 1;
}

.jd-pricing .jd-p-qual{
  display:block;
  margin-top:5px;
  font-family:Helvetica, sans-serif;
  font-size:15px;
  line-height:1.4;
  font-weight:400;
  color:#3a5240;
}

.jd-pricing .jd-p-term{
  font-family:Helvetica, sans-serif;
  font-size:14px;
  line-height:1.35;
  font-weight:700;
  letter-spacing:.05em;
  color:#22331f;
  white-space:nowrap;
}
.jd-pricing .jd-p-table thead th .jd-p-term{
  display:block;
  width:fit-content;
  margin-top:8px;
  letter-spacing:.04em;
}
.jd-pricing .jd-p-span .jd-p-term{ display:inline; }

.jd-pricing .jd-p-table tbody.jd-p-fee th[scope="row"],
.jd-pricing .jd-p-table tbody.jd-p-fee td{
  border-top:2px solid rgba(79,111,82,.34);
  padding-top:16px;
}

.jd-pricing .jd-p-table tbody td.jd-p-span{
  text-align:center;
  padding-left:0;
}

.jd-pricing .jd-p-span .jd-p-fig{ display:inline; }

.jd-pricing .jd-p-effective{
  margin:26px 0 0;
  padding:16px 0 0;
  border-top:1px solid rgba(203,178,121,.45);
  max-width:52ch;
  font-family:Helvetica, sans-serif;
  font-size:15.5px;
  line-height:1.55;
  font-weight:400;
  color:#22331f;
  text-align:left;
}
.jd-pricing .jd-p-effective strong{ font-weight:700; }

.jd-pricing .jd-p-note{
  margin-top:48px;
  padding-top:44px;
  border-top:1px solid rgba(203,178,121,.45);
}
.jd-pricing .jd-p-note ul{
  margin:0;
  padding:0;
  list-style:none;
  max-width:900px;
}
.jd-pricing .jd-p-note ul li{
  --jp-note-y:14px;
  position:relative;
  margin:0;
  padding:var(--jp-note-y) 0 var(--jp-note-y) 34px;
  border-top:1px solid rgba(79,111,82,.20);
  font-family:Helvetica, sans-serif;
  font-size:17px;
  line-height:1.7;
  font-weight:400;
  color:#22331f;
  overflow-wrap:break-word;
}
.jd-pricing .jd-p-note ul li:first-child{ border-top:0; padding-top:0; }

.jd-pricing .jd-p-note ul li:first-child::before{ top:.78em; }

.jd-pricing .jd-p-note ul li::before{
  content:"";
  position:absolute;
  left:0;
  top:calc(var(--jp-note-y) + .78em);
  width:16px; height:2px;
  background:#4f6f52;
}

.jd-pricing .jd-p-note a{
  display:inline-block;
  line-height:44px;
  padding:0 6px;
  margin:0 -6px;
  color:#22331f;
  font-weight:700;
  white-space:nowrap;
  border-radius:2px;
  text-decoration:underline;
  text-decoration-thickness:1px;
  text-underline-offset:3px;
}
.jd-pricing .jd-p-note a:hover,
.jd-pricing .jd-p-note a:active{
  color:#1d2c20;
  text-decoration:underline;
  text-decoration-thickness:2px;
}

.jd-pricing .jd-p-note a:focus{
  outline:3px solid #2b3f2f;
  outline-offset:2px;
}
.jd-pricing .jd-p-note a:focus:not(:focus-visible){ outline:0; }
.jd-pricing .jd-p-note a:focus-visible{
  outline:3px solid #2b3f2f;
  outline-offset:2px;
  text-decoration-thickness:2px;
}

.jd-pricing .jd-p-services{
  margin-top:48px;
  padding-top:44px;
  border-top:1px solid rgba(203,178,121,.45);
}
.jd-pricing .jd-p-services ul{
  display:grid;
  /* SIX tracks, not three, so a row can be split into halves as well as
     thirds - see .jd-p-half below. A normal item spans 2 of the 6, which with
     one gap size is exactly the three-up this was before. */
  grid-template-columns:repeat(6, minmax(0, 1fr));
  column-gap:40px;
  row-gap:0;
  margin:0;
  padding:0;
  list-style:none;
}
.jd-pricing .jd-p-services ul li{
  grid-column:span 2;                /* two sixths - a third, three across */
  --jp-row-y:13px;
  position:relative;
  margin:0;
  padding:var(--jp-row-y) 0 var(--jp-row-y) 1.9em;
  border-top:1px solid rgba(79,111,82,.20);
  font-family:Helvetica, sans-serif;
  font-size:17px;
  line-height:1.6;
  font-weight:400;
  color:#22331f;
  overflow-wrap:break-word;
  break-inside:avoid;
  page-break-inside:avoid;
}
/* The two closing lines - the facilities and the furniture - share the last
   row, half each. The facilities line used to be .jd-p-wide, spanning the whole
   row, which left the furniture line stranded alone in the first column. */
.jd-pricing .jd-p-services ul li.jd-p-half{ grid-column:span 3; }

.jd-pricing .jd-p-services ul li::before{
  content:"\f14a";
  content:"\f14a" / "";
  font-family:"Font Awesome 5 Free";
  font-weight:900;
  position:absolute;
  left:0;
  top:var(--jp-row-y);
  width:auto; height:auto;
  margin:0; padding:0;
  vertical-align:baseline;
  font-size:.9em;
  line-height:1.78;
  color:#4f6f52;
  transition:none;
}

.jd-pricing .jd-p-concierge{
  margin:0;
  padding:18px 0 0;
  border-top:1px solid rgba(79,111,82,.20);
  font-family:Helvetica, sans-serif;
  font-size:16px;
  line-height:1.5;
  font-weight:700;
  color:#2b3f2f;
}

.jd-pricing .jd-p-tc{
  margin:14px 0 0;
  font-family:Helvetica, sans-serif;
  font-size:15px;
  line-height:1.5;
  font-weight:400;
  color:#3a5240;
}

.jd-pricing .wow{
  visibility:visible !important;
  opacity:1 !important;
  animation-name:none !important;
}

/* ---------- the scroll wrapper (this page only; see the preamble) ---------- */
/* A grid item's automatic minimum width is its min-content width. Without
   this, a table too wide for its column would WIDEN THE COLUMN - past the
   container, past the viewport - and the wrapper inside it would have
   nothing to scroll. Measured: with the tables forced to 600px in a 375px
   frame, the document overflowed by 252px and all three wrappers reported
   zero. With it, the wrapper scrolls and the document does not move. */
.jd-pricing .jd-p-model{ min-width:0; }

.jd-pricing .jd-p-scroll{
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
  overscroll-behavior-x:contain;
}
.jd-pricing .jd-p-scroll:focus{
  outline:2px solid #2b3f2f;
  outline-offset:2px;
}
.jd-pricing .jd-p-scroll:focus:not(:focus-visible){ outline:0; }
.jd-pricing .jd-p-scroll:focus-visible{
  outline:2px solid #2b3f2f;
  outline-offset:2px;
}
@media print{
  .jd-pricing .jd-p-scroll{ overflow:visible; }   /* paper does not scroll */
}

@media (min-width:992px){
  .jd-pricing .jd-p-terms{
    grid-template-columns:1fr 1fr;
    column-gap:0;
    row-gap:0;
    align-items:stretch;
  }
  .jd-pricing .jd-p-std{ padding-right:36px; }
  .jd-pricing .jd-p-zero{
    padding-left:36px;
    border-left:1px solid rgba(203,178,121,.45);
  }
}

@media (max-width:1199.98px){
  /* two up on the same six-track grid; the pair is already half-width here */
  .jd-pricing .jd-p-services ul li{ grid-column:span 3; }
}

@media (min-width:992px) and (max-width:1199.98px){
  .jd-pricing .jd-p-std{ padding-right:28px; }
  .jd-pricing .jd-p-zero{ padding-left:28px; }

  .jd-pricing .jd-p-table col:first-child{ width:30%; }
  .jd-pricing .jd-p-fig{ font-size:19px; }
}

@media (max-width:991.98px){
  .jd-pricing .jd-p-terms{ row-gap:0; }
  section.section-gaping.jd-pricing{ padding:44px 0 46px; }
  .jd-pricing .section_title{ margin-bottom:32px; }
  .jd-pricing .jd-p-model{ max-width:680px; }
  .jd-pricing .jd-p-zero{
    margin-top:40px;
    padding-top:40px;
    border-top:1px solid rgba(203,178,121,.45);
  }
  .jd-pricing .jd-p-note{ margin-top:44px; padding-top:40px; }
  .jd-pricing .jd-p-services{ margin-top:44px; padding-top:40px; }
}

@media (max-width:767.98px){
  section.section-gaping.jd-pricing{ padding:34px 0 36px; }
  .jd-pricing .section_title{ margin-bottom:28px; }
  .jd-pricing .jd-p-services ul{ grid-template-columns:1fr; column-gap:0; }
  /* One track here, so every span has to be dropped: a span of 3 against a
     single column invents two implicit ones and the list goes back to three
     across, 58px wider than the phone. .jd-p-half must be named explicitly -
     it is 0-3-2 and would otherwise outrank a bare `li` reset at 0-2-2. */
  .jd-pricing .jd-p-services ul li,
  .jd-pricing .jd-p-services ul li.jd-p-half{ grid-column:auto; }
}

@media (max-width:575.98px){

  .jd-pricing .jd-p-table thead th .jd-p-term{ white-space:normal; }
  .jd-pricing .jd-p-table{ table-layout:auto; }
  .jd-pricing .jd-p-table col:first-child{ width:auto; }
  /* A price must never break between the currency and the number: "INR" on one
     line and "55,000" on the next is not a price, it is two fragments. This
     used to be white-space:normal at 18px, which preferred wrapping over
     scrolling - but at 18px EVERY figure in all three tables split at 375px,
     and shortening the tax qualifier alongside made the rent table's two split
     as well by handing their column width to column one.
     nowrap at 16px is the combination that was measured to cost nothing: at
     414 and 375 no figure splits AND no wrapper needs to scroll at all; 360
     needs 4px in one wrapper; only 320 asks for real scrolling (40px and 22px),
     which is exactly what .jd-p-scroll exists for. The document never overflows
     at any of them. */
  .jd-pricing .jd-p-fig{
    white-space:nowrap;
    font-size:16px;
  }
  .jd-pricing .jd-p-table thead th{
    font-size:12px;
    letter-spacing:.06em;
    padding-bottom:8px;
  }
  /* the column heads drop to 12px here; the title keeps its lead over them */
  .jd-pricing .jd-p-table caption.jd-p-cap{ font-size:16px; padding-bottom:12px; }
  .jd-pricing .jd-p-table caption.jd-p-cap .jd-p-term{ font-size:12px; margin-top:6px; }
  .jd-pricing .jd-p-table thead th + th{ padding-left:8px; }
  .jd-pricing .jd-p-table tbody th[scope="row"]{
    font-size:16px;
    padding:13px 8px 13px 0;
  }
  .jd-pricing .jd-p-table tbody td{ padding:13px 0 13px 8px; }
  .jd-pricing .jd-p-qual{ font-size:14px; margin-top:4px; }
  .jd-pricing .jd-p-term{ font-size:13px; }
  .jd-pricing .jd-p-effective{ font-size:15px; }
  .jd-pricing .jd-p-note ul li,
  .jd-pricing .jd-p-services ul li{ font-size:16px; }
  .jd-pricing .jd-p-note ul li{ padding-left:28px; }
  .jd-pricing .jd-p-note ul li::before{ width:13px; }
  .jd-pricing .jd-p-concierge{ font-size:15px; }
  .jd-pricing .jd-p-tc{ font-size:14px; }
}

@media (prefers-reduced-motion:reduce){
  .jd-pricing .wow{
    animation:none !important;
    visibility:visible !important;
    opacity:1 !important;
  }
}

@media (prefers-contrast:more){
  .jd-pricing .section_title h2{ color:#1d2c20; }
  .jd-pricing .section_title h2::after{
    background:none;
    border-top:1px solid #8a6d2e;
    height:0;
  }
  .jd-pricing .jd-p-band,
  .jd-pricing .jd-p-concierge{ color:#1d2c20; }
  .jd-pricing .jd-p-table tbody th[scope="row"],
  .jd-pricing .jd-p-fig,
  .jd-pricing .jd-p-effective,
  .jd-pricing .jd-p-note ul li,
  .jd-pricing .jd-p-services ul li,
  .jd-pricing .jd-p-note a{ color:#1d2c20; }
  .jd-pricing .jd-p-term{ color:#1d2c20; }
  .jd-pricing .jd-p-table thead th,
  .jd-pricing .jd-p-qual,
  .jd-pricing .jd-p-tc{ color:#22331f; }
  .jd-pricing .jd-p-services ul li::before{ color:#22331f; }
  .jd-pricing .jd-p-note ul li::before{ background:#22331f; }
  .jd-pricing .jd-p-table thead th,
  .jd-pricing .jd-p-table tbody.jd-p-fee th[scope="row"],
  .jd-pricing .jd-p-table tbody.jd-p-fee td{ border-color:rgba(29,44,32,.72); }
  .jd-pricing .jd-p-table tbody th[scope="row"],
  .jd-pricing .jd-p-table tbody td,
  .jd-pricing .jd-p-note ul li,
  .jd-pricing .jd-p-services ul li,
  .jd-pricing .jd-p-concierge{ border-color:rgba(29,44,32,.42); }
  .jd-pricing .jd-p-zero,
  .jd-pricing .jd-p-note,
  .jd-pricing .jd-p-services,
  .jd-pricing .jd-p-effective{ border-color:#8a6d2e; }
  section.section-gaping.jd-pricing{ border-bottom-color:#8a6d2e; }
  .jd-pricing .jd-p-note a{ text-decoration-thickness:2px; }
  .jd-pricing .jd-p-note a:focus,
  .jd-pricing .jd-p-note a:focus-visible{ outline-color:#1d2c20; }
}

@media (forced-colors:active){
  section.section-gaping.jd-pricing{
    background-color:Canvas;
    background-image:none;
    border-bottom-color:CanvasText;
  }
  .jd-pricing .section_title h2,
  .jd-pricing .jd-p-band,
  .jd-pricing .jd-p-table thead th,
  .jd-pricing .jd-p-table tbody th[scope="row"],
  .jd-pricing .jd-p-fig,
  .jd-pricing .jd-p-qual,
  .jd-pricing .jd-p-term,
  .jd-pricing .jd-p-effective,
  .jd-pricing .jd-p-note ul li,
  .jd-pricing .jd-p-services ul li,
  .jd-pricing .jd-p-concierge,
  .jd-pricing .jd-p-tc{ color:CanvasText; }
  .jd-pricing .jd-p-services ul li::before{ color:CanvasText; }
  .jd-pricing .section_title h2::after{
    background:none;
    border-top:1px solid CanvasText;
    height:0;
  }

  .jd-pricing .jd-p-note ul li::before{
    background:none;
    height:0;
    border-top:2px solid CanvasText;
  }
  .jd-pricing .jd-p-table thead th,
  .jd-pricing .jd-p-table tbody th[scope="row"],
  .jd-pricing .jd-p-table tbody td,
  .jd-pricing .jd-p-table tbody.jd-p-fee th[scope="row"],
  .jd-pricing .jd-p-table tbody.jd-p-fee td,
  .jd-pricing .jd-p-note ul li,
  .jd-pricing .jd-p-services ul li,
  .jd-pricing .jd-p-concierge,
  .jd-pricing .jd-p-effective,
  .jd-pricing .jd-p-zero,
  .jd-pricing .jd-p-note,
  .jd-pricing .jd-p-services{ border-color:CanvasText; }
  .jd-pricing .jd-p-note a{ color:LinkText; }
  .jd-pricing .jd-p-note a:focus,
  .jd-pricing .jd-p-note a:focus-visible{ outline-color:Highlight; }
}

@media print{

  .jd-pricing .container{
    max-width:none;
    width:100%;
    padding-left:0;
    padding-right:0;
  }
  .jd-pricing .wow{
    visibility:visible !important;
    opacity:1 !important;
    animation:none !important;
  }

  section.section-gaping.jd-pricing{
    padding:20px 0 18pt;
    background-color:#ffffff;
    background-image:none;
    border-top:0;
    border-bottom:1px solid #7f6630;
    break-before:auto; page-break-before:auto;
  }

  .jd-pricing .section_title{ margin-bottom:18pt; }
  .jd-pricing .section_title h2{
    color:#000;
    break-after:avoid; page-break-after:avoid;
  }
  .jd-pricing .section_title h2::after{
    background:none;
    border-top:1px solid #a89f8a;
    height:0;
  }

  .jd-pricing .jd-p-terms{ display:block; }
  .jd-pricing .jd-p-model{
    max-width:none;
    break-inside:avoid; page-break-inside:avoid;
  }
  .jd-pricing .jd-p-std{ padding-right:0; }
  .jd-pricing .jd-p-zero{
    padding-left:0;
    border-left:0;
    margin-top:24pt;
    padding-top:24pt;
    border-top:1px solid #7f6630;
  }
  .jd-pricing .jd-p-band{
    color:#000;
    font-size:14pt;
    break-after:avoid; page-break-after:avoid;
  }

  .jd-pricing .jd-p-table{
    table-layout:fixed;
    break-inside:avoid; page-break-inside:avoid;
    margin-bottom:16pt;
  }
  .jd-pricing .jd-p-table thead{ display:table-header-group; }
  .jd-pricing .jd-p-table tr{ break-inside:avoid; page-break-inside:avoid; }

  .jd-pricing .jd-p-table thead th{
    color:#000;
    font-size:9pt;
    letter-spacing:.06em;
    border-bottom-color:#7f6630;
  }
  .jd-pricing .jd-p-table caption.jd-p-cap{ font-size:13pt; color:#000; }
  .jd-pricing .jd-p-table tbody th[scope="row"]{
    color:#000;
    font-size:11pt;
    padding:9pt 10pt 9pt 0;
    border-bottom-color:#a89f8a;
  }
  .jd-pricing .jd-p-table tbody td{
    padding:9pt 0 9pt 10pt;
    border-bottom-color:#a89f8a;
  }
  .jd-pricing .jd-p-fig{ color:#000; font-size:13pt; }

  .jd-pricing .jd-p-qual{ color:#000; font-size:9.5pt; }
  .jd-pricing .jd-p-term{ color:#000; font-size:9pt; }
  .jd-pricing .jd-p-table tbody.jd-p-fee th[scope="row"],
  .jd-pricing .jd-p-table tbody.jd-p-fee td{ border-top-color:#7f6630; }

  .jd-pricing .jd-p-effective{
    color:#000;
    font-size:10.5pt;
    max-width:none;
    border-top-color:#a89f8a;
    break-inside:avoid; page-break-inside:avoid;
  }

  .jd-pricing .jd-p-note{
    margin-top:24pt;
    padding-top:20pt;
    border-top-color:#7f6630;
    break-inside:avoid; page-break-inside:avoid;
  }
  .jd-pricing .jd-p-note ul{ max-width:none; }
  .jd-pricing .jd-p-note ul li{
    color:#000;
    font-size:10.5pt;
    line-height:1.6;
    border-top-color:#a89f8a;
    orphans:2; widows:2;
  }

  .jd-pricing .jd-p-note ul li::before{
    background:none;
    height:0;
    border-top:2px solid #000;
  }
  .jd-pricing .jd-p-note a{
    color:#000;
    padding:0; margin:0;
    text-decoration:underline;
    text-decoration-thickness:1px;
  }

  .jd-pricing .jd-p-services{
    margin-top:24pt;
    padding-top:20pt;
    border-top-color:#7f6630;
  }
  .jd-pricing .jd-p-services ul{
    grid-template-columns:repeat(6, minmax(0, 1fr));
    column-gap:28pt;
  }
  .jd-pricing .jd-p-services ul li{ grid-column:span 3; }   /* two up on paper */
  .jd-pricing .jd-p-services ul li{
    color:#000;
    font-size:10.5pt;
    line-height:1.45;
    padding-top:6pt; padding-bottom:6pt;
    border-top-color:#a89f8a;
    break-inside:avoid; page-break-inside:avoid;
  }
  .jd-pricing .jd-p-services ul li::before{ color:#000; }
  .jd-pricing .jd-p-concierge{
    color:#000;
    font-size:10.5pt;
    border-top-color:#a89f8a;
    break-before:avoid; page-break-before:avoid;
  }
  .jd-pricing .jd-p-tc{ color:#000; font-size:9.5pt; }
}


/* ==========================================================================
   "SPACES THAT COMFORT YOU"  (#Amenities) - THE HUNG GALLERY
   ==========================================================================
   The four-floor tab section: a pill rail, and per floor a photograph
   carousel beside a heading, a line of prose and a tick list. The sibling
   page rebuilt this exact component as "the room where the work is hung" -
   a warm stone wall (#e5e1d8, grain, a raking light), and on it ONE mount
   per pane cut from the pricing section's sheet (#f7f3e9) with the picture
   changing inside it. The full account of the ground, the hairline ranks and
   the tab and arrow measurements is in the sibling's css/banner.css from
   line 2530; this block carries its rules, re-aimed at this page.

   RE-ANCHORED. The sibling wrote every selector on #floor-plan, its section
   id. This page's section is #Amenities (both nav links point there,
   index.php:212 and :229), so every "#floor-plan" below is "#Amenities" -
   a whole-token replacement, checked to have touched nothing else. The id
   anchor is kept on purpose rather than swapped for a class: the block was
   calibrated to WIN ON ID SPECIFICITY against the legacy rules that reach
   this markup, and those rules are all here too:
     style2.css:1464-1497   .section_separation .nav-pills .nav-link - the
                            27px/32px tabs and the navy-on-phones active
                            state at responsive2.css:64-65
     style2.css:1620        .owl-carousel .item{width:96%} - the 4% bleed
     style2.css:1700-1709   .owl-nav - two bare 22px glyphs, and
                            .owl-nav.disabled{display:inherit!important},
                            which this block answers with a flagged
                            display:none of its own at higher specificity
     style2.css:1623-1627   .tick ul li:before - the 20px check whose wrapped
                            lines ran back under it
     style2.css:1500-1502   #floor-plan .tab-content{padding:20px} - which on
                            THIS page matched nothing, since the id differs;
                            the padding:0 below is therefore idle here, kept
                            so the two files stay diffable
     style2.css:37 / 505, responsive2.css:50 - the 15px p, and the two
                            FLAGGED 20px title rules the flagged clamp beats

   THE FLAGS in this block: the title's font-size (above); three against
   Bootstrap's own flagged utilities on the legacy markup
   (.justify-content-evenly, .mb-3, .align-items-center); the .owl-nav
   .disabled answer; and the reduced-motion / print branches. None is new
   to this page.

   ONE PAGE-SPECIFIC FIX, marked inline: responsive2.css:172 gave the ground
   floor's carousel alone a 15px margin-bottom under 768.

   THE FOUR CAROUSELS' BEHAVIOUR - real buttons for the arrows, a pause
   control, a lightbox per floor, the tab-order guard, and the refresh when a
   hidden tab is shown - lives in js/custom.js, next to the init it belongs
   to. The .jd-sr and .jd-owl-pause rules the script needs are in this block.
   ========================================================================== */

.section-gaping#Amenities{
  padding:56px 0 60px;

  background-color:#e5e1d8;

  background-image:

    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='fpg'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='120' height='120' filter='url(%23fpg)' opacity='.026'/%3E%3C/svg%3E"),

    linear-gradient(168deg,
      rgba(255,252,240,.62)   0,
      rgba(255,252,240,.30) 150px,
      rgba(255,252,240,0)   380px);

  background-repeat:repeat, no-repeat;

  border-bottom:1px solid rgba(203,178,121,.45);
}

#Amenities .section_title{ margin-bottom:38px; }
#Amenities .section_title h2{
  font-family:Helvetica, sans-serif;
  font-size:clamp(23px, 2.7vw, 34px) !important;
  font-weight:700;
  line-height:1.25;
  letter-spacing:.004em;
  color:#2b3f2f;
  max-width:20em;
  margin:0 auto;
  position:static;
}
#Amenities .section_title h2::after{
  position:static; display:block;
  content:"";
  width:58px; height:1px;
  margin:18px auto 0;
  background:linear-gradient(90deg,transparent,rgba(203,178,121,.95),transparent);
  bottom:auto; left:auto; right:auto;
}

#Amenities .section_separation .nav-pills{
  display:flex;
  flex-wrap:wrap;
  justify-content:center !important;
  align-items:flex-end;
  gap:8px;
  margin:0 0 6px !important;
  padding:0 0 16px;
  border-bottom:1px solid #cfc7b1;
  list-style:none;
}
#Amenities .section_separation .nav-pills .nav-item{ margin:0; }
#Amenities .section_separation .nav-pills .nav-link{
  position:relative;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:48px;
  min-width:112px;
  margin:0;
  padding:12px 20px;
  border:1px solid transparent;
  border-radius:0;
  background:transparent;
  font-size:17px;
  font-weight:600;
  line-height:1.2;
  letter-spacing:.005em;
  color:#35473a;
  transition:background-color .2s ease, color .2s ease, border-color .2s ease;
  -webkit-tap-highlight-color:transparent;
}
@media (hover:hover){
  #Amenities .section_separation .nav-pills .nav-link:hover{
    background:#f7f3e9;
    border-color:#cfc7b1;
    color:#22331f;
  }
}
#Amenities .section_separation .nav-pills .nav-link.active,
#Amenities .section_separation .nav-pills .nav-link.active:hover{
  background:#3a5240;
  border-color:#3a5240;
  border-bottom:1px solid #3a5240;
  padding-bottom:12px;
  color:#f7f3e9;
  font-weight:700;
  box-shadow:inset 0 0 0 1px rgba(203,178,121,.55);
}

#Amenities .section_separation .nav-link::before{
  top:100%; bottom:auto;
  left:0; right:0; margin:0 auto;
  transform:none;
  width:0; height:0;
  border-left:7px solid transparent;
  border-right:7px solid transparent;
  border-top:9px solid #3a5240;
  opacity:0;
  transition:opacity .2s ease;
}
#Amenities .section_separation .nav-link.active::before{ opacity:1; }

#Amenities .section_separation .nav-link:focus:not(:focus-visible){ outline:0; }
#Amenities .section_separation .nav-link:focus-visible{
  outline:2px solid #2b3f2f;
  outline-offset:2px;
}

#Amenities .tab-content{ padding:0; background:transparent; border:0; }
#Amenities .tab-content .row.align-items-center{
  align-items:flex-start !important;
  row-gap:34px;
}

#Amenities .owl-carousel{
  background-color:#f7f3e9;
  padding:14px;
  border-top:2px solid #cbb279;
  box-shadow:
    0 0 0 1px #cfc7b1,
    0 1px 2px rgba(34,51,31,.06),
    2px 14px 26px -14px rgba(34,51,31,.34);
}

#Amenities .owl-carousel:not(.owl-loaded){
  display:block;

  box-sizing:content-box;
  aspect-ratio:5 / 3;
  padding-bottom:90px;
  overflow:hidden;
}

#Amenities .owl-carousel .item{ width:100%; margin:0; }
#Amenities .owl-carousel .owl-item img{
  display:block;
  width:100%;
  height:auto;
  aspect-ratio:5 / 3;
  object-fit:cover;
  object-position:center;

  box-shadow:none;
}

#Amenities .owl-carousel .item > a{ display:block; line-height:0; position:relative; }
#Amenities .owl-carousel .item > a::after{
  content:"";
  position:absolute; inset:0;
  pointer-events:none;
  box-shadow:inset 0 0 0 1px rgba(34,51,31,.14);
}
#Amenities .owl-carousel .item > a:focus:not(:focus-visible){ outline:0; }

#Amenities .owl-carousel .item > a:focus-visible{
  outline:3px solid #2b3f2f;
  outline-offset:-3px;
}
#Amenities .owl-carousel .item > a:focus-visible::after{
  box-shadow:inset 0 0 0 3px #f7f3e9, inset 0 0 0 4px rgba(34,51,31,.14);
}

#Amenities .owl-carousel .owl-nav{
  display:flex;
  justify-content:center;
  align-items:center;
  gap:10px;
  margin:16px 0 0;
  padding-top:14px;
  border-top:1px solid #dcd4bf;
  text-align:center;
}
#Amenities .owl-carousel .owl-nav.disabled{ display:none !important; }
#Amenities .owl-carousel .owl-dots:empty{ display:none !important; }
#Amenities .owl-carousel .owl-nav button.owl-prev,
#Amenities .owl-carousel .owl-nav button.owl-next{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  box-sizing:border-box;
  width:46px; height:46px;
  min-width:46px;
  margin:0;
  border:1px solid #7f8f84;
  border-radius:0;
  background:transparent;
  color:#2b3f2f;
  font-size:0;
  line-height:1;
  cursor:pointer;
  transition:background-color .22s ease, color .22s ease, border-color .22s ease;
}
#Amenities .owl-carousel .owl-nav button.owl-prev i,
#Amenities .owl-carousel .owl-nav button.owl-next i{
  font-size:15px;
  line-height:1;
  color:inherit;

}
@media (hover:hover){
  #Amenities .owl-carousel .owl-nav button.owl-prev:hover,
  #Amenities .owl-carousel .owl-nav button.owl-next:hover{
    background:#3a5240;
    border-color:#3a5240;
    color:#f7f3e9;
  }
}
#Amenities .owl-carousel .owl-nav button.owl-prev:focus,
#Amenities .owl-carousel .owl-nav button.owl-next:focus:not(:focus-visible){ outline:0; }
#Amenities .owl-carousel .owl-nav button.owl-prev:focus-visible,
#Amenities .owl-carousel .owl-nav button.owl-next:focus-visible{
  background:#3a5240;
  border-color:#3a5240;
  color:#f7f3e9;
  outline:2px solid #2b3f2f;
  outline-offset:2px;
}
#Amenities .owl-carousel .owl-nav button.owl-prev:active,
#Amenities .owl-carousel .owl-nav button.owl-next:active{ transform:translateY(1px); }

#Amenities .tab-content .text-start{
  border-top:2px solid #cbb279;
  padding-top:26px;
  max-width:36em;
}

#Amenities .tab-content .text-start h4{
  font-size:clamp(20px, 1.9vw, 24px);
  font-weight:700;
  line-height:1.3;
  letter-spacing:.004em;
  color:#2b3f2f;
  margin:0 0 16px;
  padding-bottom:14px;
  border-bottom:1px solid #cfc7b1;
}

#Amenities .tab-content .text-start p{
  margin:0 0 4px;
  font-size:17px;
  font-weight:400;
  line-height:1.62;
  color:#35473a;
  overflow-wrap:break-word;
}

#Amenities .tab-content .text-start .tick{ margin-top:22px; }
#Amenities .tab-content .text-start .tick ul{
  margin:0;
  padding:0;
  list-style:none;
}
#Amenities .tab-content .text-start .tick ul li{
  --fp-row-y:12px;
  position:relative;
  padding:var(--fp-row-y) 0 var(--fp-row-y) 1.9em;
  margin:0;
  border-top:1px solid #cfc7b1;
  font-size:16.5px;
  line-height:1.6;
  color:#3f4a41;
  overflow-wrap:break-word;
}

#Amenities .tab-content .text-start .tick ul li:first-child{ border-top:0; }
#Amenities .tab-content .text-start .tick ul li::before{

  content:"\f14a" / "";
  font-family:"Font Awesome 5 Free";
  font-weight:900;
  position:absolute;
  left:0; top:var(--fp-row-y);
  width:auto; height:auto;
  margin:0;
  padding:0;
  vertical-align:baseline;
  font-size:.9em;
  line-height:1.78;
  color:#3a5240;
  transition:none;
}

@media (max-width:1199.98px){
  #Amenities .tab-content .text-start{ max-width:none; }
  #Amenities .section_separation .nav-pills .nav-link{ min-width:104px; padding:12px 16px; }
}

@media (min-width:768px) and (max-width:991.98px){
  .section-gaping#Amenities{ padding:44px 0 46px; }
  #Amenities .section_title{ margin-bottom:30px; }
  #Amenities .section_separation .nav-pills{ gap:6px; padding-bottom:14px; }
  #Amenities .section_separation .nav-pills .nav-link{
    min-width:0; padding:12px 12px; font-size:16px;
  }
  #Amenities .owl-carousel{ padding:12px; }
  #Amenities .tab-content .text-start{ padding-top:22px; }
  #Amenities .tab-content .text-start p{ font-size:16px; }
  #Amenities .tab-content .text-start .tick ul li{ font-size:16px; padding-left:1.8em; }
}

@media (max-width:767.98px){
  .section-gaping#Amenities{ padding:34px 0 36px; }
  #Amenities .section_title{ margin-bottom:26px; }

  #Amenities .section_separation .nav-pills{ gap:16px 6px; padding-bottom:14px; }

  #Amenities .section_separation .nav-pills .nav-item{
    flex:1 1 calc(50% - 3px);
    max-width:calc(50% - 3px);
  }
  #Amenities .section_separation .nav-pills .nav-link{
    width:100%;
    min-width:0;
    min-height:48px;
    padding:12px 14px;
    font-size:16px;
  }
  #Amenities .tab-content .row.align-items-center{ row-gap:26px; }
  #Amenities .owl-carousel{ padding:12px; margin-bottom:0; }   /* responsive2.css:172 */
  #Amenities .owl-carousel .owl-nav{ margin-top:12px; padding-top:12px; }

  #Amenities .tab-content .text-start{
    border-top:1px solid #cfc7b1;
    padding-top:22px;
  }
  #Amenities .tab-content .text-start p{ font-size:16px; }
  #Amenities .tab-content .text-start .tick ul li{ font-size:16px; --fp-row-y:11px; }
}

@media (max-width:479.98px){
  #Amenities .section_separation .nav-pills .nav-link{ padding:12px 10px; font-size:15.5px; }
  #Amenities .owl-carousel{ padding:10px; }
  #Amenities .tab-content .text-start .tick ul li{ padding-left:1.8em; }
}

@media (prefers-reduced-motion:reduce){
  #Amenities .wow,
  #Amenities .animate__animated{
    animation:none !important;
    visibility:visible !important;
    opacity:1 !important;
  }
  #Amenities .owl-stage{ transition-duration:.01ms !important; }
  #Amenities .section_separation .nav-pills .nav-link,
  #Amenities .section_separation .nav-link::before,
  #Amenities .owl-carousel .owl-nav button.owl-prev,
  #Amenities .owl-carousel .owl-nav button.owl-next{
    transition-duration:.01ms !important;
  }
  #Amenities .owl-carousel .owl-nav button.owl-prev:active,
  #Amenities .owl-carousel .owl-nav button.owl-next:active{ transform:none !important; }
}

#Amenities .jd-sr{
  position:absolute !important;
  width:1px; height:1px;
  margin:-1px; padding:0;
  overflow:hidden;
  clip:rect(0 0 0 0);
  clip-path:inset(50%);
  white-space:nowrap;
  border:0;
}

#Amenities .owl-carousel{ position:relative; }
#Amenities .jd-owl-pause{
  position:absolute; right:14px; bottom:14px; z-index:2;
  box-sizing:border-box;
  width:46px; height:46px; min-width:46px;
  padding:0; cursor:pointer;
  background:#f7f3e9;
  border:1px solid #7f8f84;
  border-radius:0;
  transition:background .25s ease, border-color .25s ease;
}
@media (hover:hover){
  #Amenities .jd-owl-pause:hover{ background:#efe9da; border-color:#2b3f2f; }
}
#Amenities .jd-owl-pause:focus:not(:focus-visible){ outline:0; }
#Amenities .jd-owl-pause:focus-visible{
  outline:2px solid #2b3f2f; outline-offset:2px;
}

#Amenities .jd-owl-pause::before,
#Amenities .jd-owl-pause::after{
  content:""; position:absolute; top:50%; transform:translateY(-50%);
  width:4px; height:14px; background:#2b3f2f;
}
#Amenities .jd-owl-pause::before{ left:17px; }
#Amenities .jd-owl-pause::after{ left:25px; }
#Amenities .jd-owl-pause.is-paused::before{
  left:18px; width:0; height:0; background:none;
  border-left:12px solid #2b3f2f;
  border-top:8px solid transparent;
  border-bottom:8px solid transparent;
}
#Amenities .jd-owl-pause.is-paused::after{ display:none; }

@media (prefers-contrast:more){
  .section-gaping#Amenities{
    background-image:none;
    background-color:#e5e1d8;
    border-bottom-color:#7f6630;
  }
  #Amenities .section_separation .nav-pills{ border-bottom-color:#837c6a; }
  #Amenities .section_separation .nav-pills .nav-link{ color:#22331f; }
  #Amenities .section_separation .nav-pills .nav-link.active,
  #Amenities .section_separation .nav-pills .nav-link.active:hover{
    background:#22331f;
    border-color:#22331f;
    box-shadow:inset 0 0 0 1px #e3cf9c;
  }
  #Amenities .section_separation .nav-link.active::before{ border-top-color:#22331f; }
  #Amenities .section_title h2::after{ background:#7f6630; }
  #Amenities .owl-carousel{
    border-top-color:#7f6630;
    box-shadow:0 0 0 1px #837c6a;
  }
  #Amenities .owl-carousel .item > a::after{ box-shadow:inset 0 0 0 1px rgba(34,51,31,.45); }
  #Amenities .owl-carousel .owl-nav{ border-top-color:#837c6a; }
  #Amenities .owl-carousel .owl-nav button.owl-prev,
  #Amenities .owl-carousel .owl-nav button.owl-next{ border-color:#2b3f2f; border-width:2px; }
  #Amenities .tab-content .text-start{ border-top-color:#7f6630; }
  #Amenities .tab-content .text-start h4{ border-bottom-color:#837c6a; }
  #Amenities .tab-content .text-start p{ color:#22331f; }
  #Amenities .tab-content .text-start .tick ul li{ color:#22331f; border-top-color:#837c6a; }
  #Amenities .tab-content .text-start .tick ul li::before{ color:#22331f; }
}

@media (forced-colors:active){
  .section-gaping#Amenities{
    background-image:none;
    background-color:Canvas;
    border-bottom-color:CanvasText;
  }
  #Amenities .section_title h2{ color:CanvasText; }
  #Amenities .section_title h2::after{
    background:none; border-top:1px solid CanvasText; height:0;
  }
  #Amenities .section_separation .nav-pills{ border-bottom-color:CanvasText; }
  #Amenities .section_separation .nav-pills .nav-link{
    background:Canvas;
    color:LinkText;
    border-color:CanvasText;
    forced-color-adjust:none;
  }
  #Amenities .section_separation .nav-pills .nav-link.active,
  #Amenities .section_separation .nav-pills .nav-link.active:hover{
    background:Highlight;
    color:HighlightText;
    border-color:HighlightText;
    box-shadow:none;
  }
  #Amenities .section_separation .nav-link.active::before{ border-top-color:Highlight; }
  #Amenities .section_separation .nav-link:focus-visible{ outline-color:CanvasText; }
  #Amenities .owl-carousel{
    background:Canvas;
    border:1px solid CanvasText;
    border-top-width:2px;
    box-shadow:none;
  }

  #Amenities .owl-carousel .owl-item img{ box-shadow:none; }
  #Amenities .owl-carousel .item > a::after{ box-shadow:none; border:1px solid CanvasText; }
  #Amenities .owl-carousel .item > a:focus-visible{ outline-color:CanvasText; }
  #Amenities .owl-carousel .owl-nav{ border-top-color:CanvasText; }
  #Amenities .owl-carousel .owl-nav button.owl-prev,
  #Amenities .owl-carousel .owl-nav button.owl-next{
    background:ButtonFace; color:ButtonText; border-color:ButtonText;
    forced-color-adjust:none;
  }
  #Amenities .owl-carousel .owl-nav button.owl-prev:hover,
  #Amenities .owl-carousel .owl-nav button.owl-next:hover,
  #Amenities .owl-carousel .owl-nav button.owl-prev:focus-visible,
  #Amenities .owl-carousel .owl-nav button.owl-next:focus-visible{
    background:Highlight; color:HighlightText; border-color:HighlightText;
  }
  #Amenities .tab-content .text-start{ border-top-color:CanvasText; }
  #Amenities .tab-content .text-start h4{ color:CanvasText; border-bottom-color:CanvasText; }
  #Amenities .tab-content .text-start p{ color:CanvasText; }
  #Amenities .tab-content .text-start .tick ul li{
    color:CanvasText; border-top-color:CanvasText;
  }
  #Amenities .tab-content .text-start .tick ul li::before{ color:CanvasText; }
}

@media print{
  #Amenities .wow,
  #Amenities .animate__animated{
    visibility:visible !important;
    opacity:1 !important;
    animation:none !important;
  }
  .section-gaping#Amenities{
    padding:24px 0 18pt;
    background-image:none !important;
    background-color:#fff !important;
    border-bottom:1px solid #7f6630;
  }
  #Amenities .section_title{ break-after:avoid; page-break-after:avoid; }
  #Amenities .section_title h2{ color:#000; }
  #Amenities .section_title h2::after{
    background:none; border-top:1px solid #a89f8a; height:0;
  }
  #Amenities .section_separation .nav-pills{ border-bottom-color:#a89f8a; gap:0; padding-bottom:6pt; }
  #Amenities .section_separation .nav-pills .nav-link{
    min-height:0; min-width:0; padding:6pt 10pt;
    background:none; box-shadow:none; border-color:transparent;
    color:#555;
  }
  #Amenities .section_separation .nav-pills .nav-link.active,
  #Amenities .section_separation .nav-pills .nav-link.active:hover{
    background:none; box-shadow:none;
    color:#22331f;
    border:1px solid #7f6630;
  }
  #Amenities .section_separation .nav-link::before{ display:none; }

  #Amenities .owl-carousel .owl-nav,
  #Amenities .owl-carousel .owl-dots{ display:none !important; }
  #Amenities .owl-carousel{

    background:none;
    padding:0;
    border:0;
    border-top:2px solid #7f6630;
    box-shadow:none;
    break-inside:avoid; page-break-inside:avoid;
  }
  #Amenities .owl-carousel .owl-item img{ box-shadow:none; }
  #Amenities .tab-content .text-start{
    border-top:2px solid #7f6630;
    break-inside:avoid; page-break-inside:avoid;
  }
  #Amenities .tab-content .text-start h4{
    color:#000; border-bottom-color:#a89f8a;
    break-after:avoid; page-break-after:avoid;
  }
  #Amenities .tab-content .text-start p{ color:#000; break-inside:avoid; page-break-inside:avoid; }
  #Amenities .tab-content .text-start .tick ul li{
    color:#000; border-top-color:#a89f8a;
    break-inside:avoid; page-break-inside:avoid;
  }
  #Amenities .tab-content .text-start .tick ul li::before{ color:#000; }
}


/* ==========================================================================
   THE INVENTORY, ICONED  (.jd-pricing .jd-p-services)
   ==========================================================================
   Asked for directly: the fourteen inclusions were a check-list, and a
   check says only "yes". Now each row opens with the thing it names - a bed,
   a nurse, utensils, a broom, a plug, a television, a calendar, a bolt, a
   shield, a wrench, the Om, a hand holding a heart, an open door, a couch -
   so the eye can find "medical" or "meals" without reading every line.

   THE DISC. 40px, the paper one shade deeper (#efe9da, the pause control's
   hover tint), ringed by the same .34 green hairline the column heads use,
   the glyph in the deep green at 15px. It is centred on the row's FIRST
   line, not the row: rows run to two lines and the mark belongs to the
   start of the sentence. Vertical arithmetic at 17px/1.6: first line 27.2px
   tall, so top = 13px + 13.6px - 20px = 6.6px, and the disc's foot at 46.6px
   sits inside the row's 53px minimum (13 + 27.2 + 13). At 16px below 576 the
   same expression gives 5.8px and 45.8px inside 51.6px.

   THE HOVER, as asked: the disc fills with the green and the glyph turns
   paper, the row's text steps down to the darkest ink, and the disc lifts
   by a pixel on a soft shadow. Nothing moves that a reader could lose: the
   row does not grow, the text does not shift. It is under (hover:hover) so
   a phone never gets a stuck hover after a tap, and the reduced-motion
   branch keeps the state change but drops the travel.

   THE GLYPHS. css/all.css is Font Awesome 6.1.1 over the 5.11.2 webfonts,
   so every class here was checked twice before it was chosen: that the 6.1.1
   CSS defines it, and that its codepoint is in the cmap of
   webfonts/fa-solid-900.ttf (all fourteen are U+Fxxx; nothing from the
   U+Exxx range the font lacks). The old check (\f14a) retires with
   content:none - it was a ::before on the li, and the disc takes its place.

   THE GUTTER. 58px = 40 disc + 18 gap; the old 1.9em (32px) was the check's.
   ========================================================================== */
.jd-pricing .jd-p-services ul li{
  padding-left:58px;
}
.jd-pricing .jd-p-services ul li::before{ content:none; }   /* the check retires */

.jd-pricing .jd-p-services .jd-p-ic{
  position:absolute;
  left:0;
  top:calc(var(--jp-row-y) + .8em - 20px);   /* centred on the first line */
  display:flex;
  align-items:center;
  justify-content:center;
  width:40px; height:40px;
  border-radius:50%;
  background:#efe9da;
  border:1px solid rgba(79,111,82,.34);
  color:#3a5240;                             /* 7.34:1 on the disc - a mark, not text */
  transition:background-color .22s ease, border-color .22s ease, color .22s ease,
             transform .22s ease, box-shadow .22s ease;
}
.jd-pricing .jd-p-services .jd-p-ic i{
  font-size:15px;
  line-height:1;
  color:inherit;
}
.jd-pricing .jd-p-services ul li{
  transition:color .22s ease;
}

@media (hover:hover){
  .jd-pricing .jd-p-services ul li:hover{ color:#1d2c20; }
  .jd-pricing .jd-p-services ul li:hover .jd-p-ic{
    background:#3a5240;
    border-color:#3a5240;
    color:#f7f3e9;                           /* 7.7:1 on the filled disc */
    transform:translateY(-1px);
    box-shadow:0 8px 16px -10px rgba(34,51,31,.55);
  }
}

@media (max-width:575.98px){
  .jd-pricing .jd-p-services ul li{ padding-left:54px; }
  .jd-pricing .jd-p-services .jd-p-ic{ width:38px; height:38px; top:calc(var(--jp-row-y) + .8em - 19px); }
  .jd-pricing .jd-p-services .jd-p-ic i{ font-size:14px; }
}

@media (prefers-reduced-motion:reduce){
  .jd-pricing .jd-p-services ul li,
  .jd-pricing .jd-p-services .jd-p-ic{ transition-duration:.01ms !important; }
  .jd-pricing .jd-p-services ul li:hover .jd-p-ic{ transform:none !important; box-shadow:none; }
}

@media (prefers-contrast:more){
  .jd-pricing .jd-p-services .jd-p-ic{
    background:#f7f3e9;
    border-color:#22331f;
    color:#1d2c20;
  }
  .jd-pricing .jd-p-services ul li:hover .jd-p-ic{ background:#1d2c20; border-color:#1d2c20; color:#fff; }
}

@media (forced-colors:active){
  .jd-pricing .jd-p-services .jd-p-ic{
    background:Canvas;
    border-color:CanvasText;
    color:CanvasText;
    forced-color-adjust:none;
  }
  .jd-pricing .jd-p-services ul li:hover .jd-p-ic{
    background:Highlight;
    border-color:Highlight;
    color:HighlightText;
    box-shadow:none;
  }
}

@media print{
  .jd-pricing .jd-p-services ul li{ padding-left:44px; }
  .jd-pricing .jd-p-services .jd-p-ic{
    width:30px; height:30px;
    top:calc(var(--jp-row-y) + .8em - 15px);
    background:none;
    border-color:#a89f8a;
    color:#000;
    box-shadow:none;
    transform:none;
  }
  .jd-pricing .jd-p-services .jd-p-ic i{ font-size:12px; }
}


/* ==========================================================================
   "HEAR, SEE AND FEEL THE COMMUNITY"  (#Our_Community) - THE PORTRAIT WALL
   ==========================================================================
   Twelve short films by residents, guests and their families. On the sibling
   page this component - the same .post-box / .photo-item / .view_title cards
   - was rebuilt as "the portrait wall": the banner plinth's own green
   (#2f4433, banner2.css:414 on this page too) with the page's grain and a
   brass rule on the foot, and on it identical paper mounts (#f7f3e9) each
   holding one film with a permanent, seated play mark and its caption set
   on the mount under an opening quotation mark. The full account of the
   ground, the seam above and the play mark is in the sibling's
   css/banner.css from line 3644; this block carries its rules.

   WHAT CHANGED IN THE MARKUP, AND WHY: the films were two-up inside an Owl
   carousel that advanced every 1.7 seconds, one column of two cards per
   step - so a reader who had found a face to watch had it pulled away
   before the caption could be read, and on a phone the only way to reach
   films 3 to 12 was to swipe blind. It is a static grid now (four across
   from 992, two from 576, one below), because a reader stops at a
   testimonial to watch ONE. The classes on the cards are unchanged, so the
   page's fancybox binding opens each film exactly as before.

   THE MOUNT IS SQUARE HERE, where the sibling's is 4:3 - and that is a
   finding, not a taste. Eleven of the twelve films are vertical phone
   videos, and every frame YouTube serves pillar-boxes them: in a 4:3 mount
   a third of each picture would be blurred edge. A 3:4 mount would fit the
   films but with twelve of them the wall would stand twice as tall. The
   square keeps the subject, keeps the wall level, and keeps its height
   sane: object-fit:cover crops the blur to a margin. The one landscape
   film (87VEvnyvUhg) is served from its 16:9 maxresdefault, whose square
   crop centres the sitter with no letterbox bars; the others are served
   from sddefault (640x480) with maxresdefault in srcset for dense screens
   - except nDZlNp7dTog, for which YouTube has no maxresdefault (checked:
   a 1097-byte placeholder), so it is sddefault alone.

   THE LEGACY RULES THIS BLOCK MEETS on this page:
     style2.css:1553-1569  .photo-icon - a 70px black disc at 38% with a
                           #4f6f52 glyph (3.73:1 on near-black) that only
                           appeared on hover; now a seated 46px mark on every
                           mount, always visible, the brass on the dark green
     style2.css:1529       .photo-date{opacity:0;transform:scale(.5)} - the
                           play affordance that did not exist until hover,
                           on a page bought for touch traffic
     style2.css:1597       .testimonials .view_title{height:72px;...#4f6f52}
                           - 15px white on a green slab with a FIXED height
                           that clipped the longer captions
     responsive2.css:109   the same at 14px/70px below 768 - beaten on
                           source order (same specificity, this file last)
     style2.css:1503       .post-box:hover .photo-img img{scale(1.1)} - the
                           one page-specific fix, marked inline below
     style2.css:1574/1612  .post-box{display:table} / margin - replaced
     style2.css:1932       .item_block - the class is gone from the markup
     responsive2.css:172   .owl-testimonial .owl-nav - class gone

   THE FLAGS: the title's font-size (against style2.css:505 and
   responsive2.css:50), the .col.mb-3 guard, and the reduced-motion / print
   branches - all inherited from the sibling.
   ========================================================================== */

section.section-gaping.testimonials{
  padding:56px 0 60px;

  background-color:#2f4433;

  background-image:

    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='tsg'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='120' height='120' filter='url(%23tsg)' opacity='.05'/%3E%3C/svg%3E"),

    linear-gradient(168deg,
      rgba(255,252,240,.06)   0,
      rgba(255,252,240,.03) 170px,
      rgba(255,252,240,0)   420px);

  background-repeat:repeat, no-repeat;

  border-bottom:1px solid rgba(203,178,121,.55);
}

.testimonials .section_title{ margin-bottom:34px; }
.testimonials .section_title h2{
  font-family:Helvetica, sans-serif;
  font-size:clamp(23px, 2.7vw, 34px) !important;
  font-weight:700;
  line-height:1.25;
  letter-spacing:.004em;
  color:#f7f3e9;
  max-width:20em;
  margin:0 auto;
  position:static;
}
.testimonials .section_title h2::after{
  position:static; display:block;
  content:"";
  width:58px; height:1px;
  margin:18px auto 0;
  background:linear-gradient(90deg,transparent,rgba(203,178,121,.95),transparent);
  bottom:auto; left:auto; right:auto;
}

.testimonials .section_title p{
  max-width:60ch;
  margin:16px auto 0;
  font-size:17px;
  font-weight:400;
  line-height:1.6;
  color:#f2eee1;
}

.testimonials .row{
  --bs-gutter-x:24px;
  --bs-gutter-y:24px;
}
.testimonials .row > .col{ display:flex; }
.testimonials .row > .col.mb-3{ margin-bottom:0 !important; }
.testimonials .row > .col > .wow{ display:flex; flex:1 1 auto; min-width:0; }

.testimonials .post-box{
  display:flex; flex:1 1 auto; min-width:0;
  margin-bottom:0;
  color:inherit;
  text-decoration:none;
}

.testimonials .photo-item{
  position:relative;
  display:flex; flex-direction:column; flex:1 1 auto; min-width:0;
  background:#f7f3e9;
  padding:9px 9px 0;
  border-radius:0;
  box-shadow:
    0 12px 24px -14px rgba(9,14,10,.85),
    0 3px  7px  -4px rgba(9,14,10,.70);
  transition:transform .32s ease, box-shadow .32s ease;
}

.testimonials .photo-img{
  position:relative;
  flex:0 0 auto;
  width:100%;
  aspect-ratio:1 / 1;
  overflow:hidden;
  border-radius:0;
  background:linear-gradient(168deg,#3a5240 0%,#2b3f2f 100%);
}
.testimonials .photo-img img{
  display:block;
  width:100%; height:100%;
  object-fit:cover;
  object-position:50% 50%;
  border-radius:0;
  transform:scale(1);
  transition:transform .5s ease-in-out;
}

.testimonials .photo-img::after{
  content:"";
  position:absolute; inset:0; z-index:1;
  pointer-events:none;
  box-shadow:inset 0 0 0 1px rgba(203,178,121,.85);
  transition:box-shadow .32s ease;
}

.testimonials .photo-date{
  position:absolute; inset:0; top:0; bottom:0;
  width:100%; height:100%;
  z-index:2;
  display:block;
  opacity:1;
  transform:none;
  transition:background .32s ease;
  background:linear-gradient(to top,
    rgba(23,34,25,.34)  0,
    rgba(23,34,25,.14) 22%,
    rgba(23,34,25,0)   46%);
}
.testimonials .post-box:hover .photo-date{
  opacity:1;
  transform:none;
  transition-delay:0s;
}
.testimonials .photo-icon{
  position:absolute;
  top:auto; bottom:11px; left:11px;
  transform:none;
  width:46px; height:46px;
  border-radius:50%;
  background:#22331f;
  box-shadow:
    0 0 0 1px #f7f3e9,
    0 3px 9px rgba(9,14,10,.6);
  text-align:center;
  transition:box-shadow .32s ease, transform .32s cubic-bezier(.34,1.35,.5,1);
}
.testimonials .photo-icon i{
  display:block;
  line-height:46px;
  font-size:16px;
  color:#e3cf9c;
  transform:translateX(2px);
  transition:color .32s ease;
}

.testimonials .view_title{
  flex:1 1 auto;
  display:flex; flex-direction:column;
  align-items:center; justify-content:center;
  height:auto; min-height:0;
  margin:0;
  padding:14px 11px 16px;
  background:none;
  font-size:16px;
  line-height:1.5;
  font-weight:400;
  letter-spacing:.005em;
  text-align:center;
  overflow-wrap:break-word;
  color:#22331f;
}
.testimonials .view_title::before{
  content:"\201C";
  display:block;
  font-size:26px; line-height:.72;
  margin:0 0 7px;
  color:#7f6630;
}

.testimonials .post-box:hover .photo-img img{ transform:scale(1); }   /* style2.css:1503, for touch */

@media (hover:hover){
  .testimonials .post-box:hover .photo-item{
    transform:translateY(-3px);
    box-shadow:
      0 20px 34px -16px rgba(9,14,10,.90),
      0  5px 10px  -5px rgba(9,14,10,.75);
  }
  .testimonials .post-box:hover .photo-img img{ transform:scale(1.04); }
  .testimonials .post-box:hover .photo-img::after{
    box-shadow:inset 0 0 0 1px #e3cf9c;
  }
  .testimonials .post-box:hover .photo-date{
    background:linear-gradient(to top,
      rgba(23,34,25,.46)  0,
      rgba(23,34,25,.20) 26%,
      rgba(23,34,25,.04) 52%);
  }
  .testimonials .post-box:hover .photo-icon{
    transform:scale(1.06);
    box-shadow:
      0 0 0 1px #f7f3e9,
      0 0 0 5px rgba(227,207,156,.42),
      0 5px 13px rgba(9,14,10,.7);
  }
}

.testimonials .post-box:focus:not(:focus-visible){ outline:0; }
.testimonials .post-box:focus-visible{
  outline:2px solid #e3cf9c;
  outline-offset:3px;
}
.testimonials .post-box:focus-visible .photo-icon{
  box-shadow:
    0 0 0 1px #f7f3e9,
    0 0 0 5px rgba(227,207,156,.42),
    0 5px 13px rgba(9,14,10,.7);
}

@media (max-width:1199px){
  .testimonials .row{ --bs-gutter-x:20px; --bs-gutter-y:20px; }
}

@media (max-width:991px){
  section.section-gaping.testimonials{ padding:44px 0 46px; }
  .testimonials .section_title{ margin-bottom:28px; }
  .testimonials .row{ --bs-gutter-x:22px; --bs-gutter-y:22px; }
  .testimonials .row > .col{ width:50%; }
}

@media (max-width:767px){
  section.section-gaping.testimonials{ padding:34px 0 36px; }
  .testimonials .section_title p{ font-size:16px; margin-top:13px; }
  .testimonials .photo-item{ padding:8px 8px 0; }
  .testimonials .view_title{ padding:12px 9px 14px; }
  .testimonials .photo-icon{ bottom:10px; left:10px; }
}

@media (max-width:575.98px){
  .testimonials .row{ --bs-gutter-x:0px; --bs-gutter-y:24px; }
  .testimonials .row > .col{
    width:100%;
    max-width:340px;
    margin-left:auto; margin-right:auto;
  }
}

@media (prefers-reduced-motion:reduce){
  .testimonials .wow{
    animation:none !important;
    visibility:visible !important;
    opacity:1 !important;
  }
  .testimonials .photo-item,
  .testimonials .photo-img img,
  .testimonials .photo-img::after,
  .testimonials .photo-date,
  .testimonials .photo-icon,
  .testimonials .photo-icon i{ transition-duration:.01ms !important; }
  .testimonials .post-box:hover .photo-item,
  .testimonials .post-box:hover .photo-img img,
  .testimonials .post-box:hover .photo-icon{ transform:none !important; }
}

@media (prefers-contrast:more){
  section.section-gaping.testimonials{
    background-image:none;
    background-color:#2f4433;
    border-bottom-color:#cbb279;
  }
  .testimonials .section_title h2{ color:#fff; }
  .testimonials .section_title h2::after{ background:#cbb279; }
  .testimonials .section_title p{ color:#f4ead2; }
  .testimonials .photo-item{ background:#fdfbf5; }
  .testimonials .photo-img::after{ box-shadow:inset 0 0 0 2px #7f6630; }
  .testimonials .view_title{ color:#1b2a1c; }
  .testimonials .view_title::before{ color:#6b551f; }
  .testimonials .photo-icon{
    background:#0f1a10;
    box-shadow:0 0 0 2px #fdfbf5;
  }
  .testimonials .photo-icon i{ color:#fdfbf5; }
  .testimonials .post-box:focus-visible{ outline-color:#fff; }
}

@media (forced-colors:active){
  section.section-gaping.testimonials{
    background-image:none;
    background-color:Canvas;
    border-bottom-color:CanvasText;
  }
  .testimonials .section_title h2{ color:CanvasText; }
  .testimonials .section_title h2::after{
    background:none; border-top:1px solid CanvasText; height:0;
  }
  .testimonials .section_title p{ color:CanvasText; }
  .testimonials .photo-item{
    background:Canvas;
    border:1px solid CanvasText;
    box-shadow:none;
  }
  .testimonials .photo-img{ background:Canvas; }
  .testimonials .photo-img::after{
    box-shadow:none;
    border:1px solid CanvasText;
  }
  .testimonials .photo-date{ background:none; }
  .testimonials .photo-icon{
    background:Canvas;
    border:1px solid CanvasText;
    box-shadow:none;
  }
  .testimonials .photo-icon i{ color:CanvasText; line-height:44px; }
  .testimonials .view_title{ color:CanvasText; }
  .testimonials .view_title::before{ color:CanvasText; }
  .testimonials .post-box:focus-visible{ outline-color:CanvasText; }
}

@media print{
  .testimonials .wow{
    visibility:visible !important;
    opacity:1 !important;
    animation:none !important;
  }
  section.section-gaping.testimonials{
    padding:24px 0 18pt;
    background-image:none !important;
    background-color:#fff !important;
    border-bottom:1px solid #7f6630;
  }
  .testimonials .section_title{ break-after:avoid; page-break-after:avoid; }
  .testimonials .section_title h2{ color:#000; }
  .testimonials .section_title h2::after{
    background:none; border-top:1px solid #a89f8a; height:0;
  }
  .testimonials .section_title p{ color:#000; }
  .testimonials .row{ --bs-gutter-x:14pt; --bs-gutter-y:14pt; }
  .testimonials .photo-item{
    background:none;
    padding:0;
    border:1px solid #a89f8a;
    box-shadow:none;
    transform:none;
    break-inside:avoid; page-break-inside:avoid;
  }
  .testimonials .photo-img::after{
    box-shadow:none;
    border-bottom:1px solid #a89f8a;
  }
  .testimonials .photo-date{ background:none; }
  .testimonials .photo-icon{
    background:none;
    border:1pt solid #555;
    box-shadow:none;
    transform:none;
  }
  .testimonials .photo-icon i{ color:#000; }
  .testimonials .view_title{
    color:#000;
    padding:8pt 7pt 10pt;
    break-inside:avoid; page-break-inside:avoid;
  }
  .testimonials .view_title::before{ color:#555; }
}


/* ==========================================================================
   "OUR VIBRANT SENIOR LIVING COMMUNITY"  (#Gallery) - THE PLATES
   ==========================================================================
   Twenty albums of life at Jagriti Dham. The sibling page's gallery went
   through two passes - "the elevation" (a mid-toned wall with twenty
   openings, two to a bay) and then "the plate", which found that idea was
   why the photographs were small and replaced it with one or two plates on
   a table: a single photograph at the size it deserves, its name under it,
   the page turned by hand, a count, and NOTHING DRAWN ON ANY PHOTOGRAPH IN
   ANY STATE - no scrim, no zoom, no badge, not on hover, focus or press.
   Both passes are carried here in the sibling's order (ELEVATION first,
   THE PLATE overriding it, as on the sibling), from css/banner.css lines
   5453 and 13986, where the full account lives.

   WHAT IS DIFFERENT HERE IS THE UNIT. The sibling's twenty plates are
   twenty photographs; this page's twenty are ALBUMS - a cover and, behind
   it, from one to ninety-one more photographs (or, for the newsletter,
   sixteen films). The old markup carried every one of them as an empty,
   unnamed <a> inside the carousel: 302 anchors, 282 of them tab stops
   leading nowhere, cloned again by Owl, and bound to fancybox once for EACH
   anchor in the same album. They are one JSON block now, and a plate shows
   its cover, its name and how many photographs are behind it - which is the
   one fact the old cards withheld.

   THE LEGACY RULES THIS BLOCK MEETS on this page (the same family as the
   testimonials above): style2.css:1553-1569 .photo-icon, :1529 .photo-date,
   :1585 .view_title on a green slab, :1574 .post-box{display:table}, :1620
   .owl-carousel .item{width:96%}, :1700-1709 .owl-nav, and responsive2.css:88
   .section-gaping.gallery{padding:0 0 15px} below 768 (0-2-0, beaten by the
   0-2-1 section rule). The two tokens the sibling's rules read from its
   header.css :root are declared on the section here.
   ========================================================================== */
section.section-gaping.gallery{
  --jd-green-deep:#2b3f2f;
  --jd-gold-dp:#7f6630;
}

section.section-gaping.gallery{
  padding:56px 0 60px;

  background-color:#d5d3cb;

  background-image:

    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='pgg'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='120' height='120' filter='url(%23pgg)' opacity='.026'/%3E%3C/svg%3E"),

    linear-gradient(168deg,
      rgba(255,252,240,.12)   0,
      rgba(255,252,240,.05) 170px,
      rgba(255,252,240,0)   420px);

  background-repeat:repeat, no-repeat;
}

.gallery .section_title{ margin-bottom:36px; }
.gallery .section_title h2{
  font-family:Helvetica, sans-serif;
  font-size:clamp(23px, 2.7vw, 34px) !important;
  font-weight:700;
  line-height:1.25;
  letter-spacing:.004em;
  color:#22331f;
  margin:0 auto;
  position:static;
}
.gallery .section_title h2::after{
  position:static; display:block;
  bottom:auto; left:auto; right:auto;
  content:"";
  width:58px; height:1px;
  margin:18px auto 0;
  background:linear-gradient(90deg,transparent,rgba(127,102,48,.95),transparent);
}

.gallery .section_title p{
  margin:14px auto 0;
  font-size:17px;
  font-weight:400;
  line-height:1.6;
  color:#2b3f2f;
}

.gallery .photo_gallery{ position:relative; }
.gallery .photo_gallery:not(.owl-loaded){
  display:flex;
  flex-wrap:nowrap;
  overflow:hidden;
}
/* The pre-init fallback ladder lives in ONE place, at the end of the second
   pass, so it can be read against the JS. See "the fallback, once" below. */

.gallery .photo_gallery .item{
  width:100%;
  margin:0;
  padding:8px;
}

.gallery .post-box{
  display:block;
  margin:0 0 16px;
  color:inherit;
  text-decoration:none;
}
.gallery .item > .post-box:last-child{ margin-bottom:0; }

.gallery .photo-item{
  position:relative;
  display:block;
  background:none;
  padding:0;
  border:0;
  border-radius:0;
  box-shadow:none;
}
.gallery .photo-item.mb-1{ margin-bottom:0 !important; }

.gallery .photo-img{
  display:block;
  width:100%;
  min-height:0;
  aspect-ratio:4 / 3;
  overflow:hidden;

  border-radius:6px;
  background:#c3c1b8;
  outline:1px solid #4f6f52;
  outline-offset:0;
  transition:outline-color .26s ease;
}
.gallery .photo-img img{
  display:block;
  width:100%; height:100%;
  object-fit:cover;
  object-position:50% 50%;
  border-radius:0;
  transform:none;
  transition:none;
  box-shadow:none;
}

.gallery .photo-date{
  position:absolute; inset:0; top:0; bottom:0; left:0; right:0;
  width:100%; height:100%;
  z-index:2;
  display:block;
  opacity:1;
  transform:none;
  background:none;
  transition:none;
  pointer-events:none;
}
.gallery .post-box:hover .photo-date{
  opacity:1;
  transform:none;
  transition-delay:0s;
}
/* THE MAGNIFIER IS NOW A MARK ON THE FOOT LINE, NOT A BOX BESIDE THE NAME.
   .photo-date is absolute inset:0, but .photo-img sets no position, so its
   containing block is .photo-item (style2.css:1520 is position:relative) - the
   WHOLE plate. The badge therefore anchors to the plate's bottom-right, level
   with the album name, and .view_title carried padding-right:56px to clear it.
   At two-up that gutter was 9% of the measure; at a quarter width it is 19%,
   and the name collides anyway as soon as it needs two lines.
   It is NOT moved onto the photograph: the preamble at the head of this block
   forbids that outright - no scrim, no zoom, no badge, in any state. Instead the
   46px box, its border and its filled hover state all go, and what is left is a
   15px glyph sitting at the right-hand end of the count line. */
.gallery .photo-icon{
  position:absolute;
  top:auto; left:auto; right:0; bottom:0;
  transform:none;
  box-sizing:border-box;
  width:auto; height:20px; min-width:18px;
  border:0;
  border-radius:0;
  background:none;
  box-shadow:none;
  font-size:0;
  letter-spacing:normal;
  text-transform:none;
  text-align:right;
  transition:color .22s ease;
}
.gallery .photo-icon i{
  display:block;
  line-height:20px;
  font-size:15px;
  color:#2b3f2f;                     /* 7.54:1 on the ground */
  transition:color .22s ease;
}

/* THE ENTRY. Four-up costs the album name 52% of its measure - 605px to 292px -
   and the way to give it presence back is not a bigger face but STRUCTURE: the
   name in one register, the count in another, and a fixed box so that the foot
   lines of all four plates in a spread sit on ONE line whether a name took one
   row or two. That single alignment is what makes four plates read as a row of
   an index rather than four loose cards.
   The gutter is 26px now, not 56px: all that has to clear is a 15px glyph. */
.gallery .view_title{
  display:block;
  height:auto; min-height:76px;      /* measured: the tallest of the twenty
                                        entries is a two-line name plus the foot
                                        line; below this the counts stop
                                        aligning across a spread */
  margin:12px 0 0;
  padding:0 26px 0 0;
  background:none;
  background-image:none;
  border:0;
  border-radius:0;
  text-align:left;
  vertical-align:baseline;
  font-size:17px;
  font-weight:700;
  line-height:1.3;
  letter-spacing:.002em;
  color:#22331f;                     /* 8.89:1 on the ground */
  transition:color .22s ease;
}
.gallery .view_title span{
  display:flex;
  flex-direction:column;
  min-height:76px;
  min-width:0;
  overflow-wrap:break-word;
  hyphens:none;
}

@media (hover:hover){
  .gallery .post-box:hover .photo-img{ outline-color:#2b3f2f; }
  .gallery .post-box:hover .photo-img img{ transform:none; }
  /* there is no box left to fill - only the glyph deepens */
  .gallery .post-box:hover .photo-icon i{ color:#1d2c20; }
  .gallery .post-box:hover .view_title{ color:#1d2c20; }
}

.gallery .post-box:active .photo-img{ outline-color:#2b3f2f; }

.gallery .post-box:focus:not(:focus-visible){ outline:0; }
.gallery .post-box:focus-visible{
  outline:2px solid #2b3f2f;
  outline-offset:2px;
}
.gallery .post-box:focus-visible .photo-img{ outline-color:#2b3f2f; }
.gallery .post-box:focus-visible .photo-icon i{ color:#1d2c20; }
.gallery .post-box:focus-visible .view_title{ color:#1d2c20; }

/* A RUNNING FOOT, not two arrows adrift in a void. The readout used to be
   injected BETWEEN the arrows and the three of them centred, which left a wide
   empty band under the plates - and four-up makes that band wider still. The
   gap is not closed by removing space; it is closed by giving the space a job:
   the count at the left, the controls at the right, on a brass hairline. */
.gallery .photo_gallery .owl-nav{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin:30px 0 0;
  padding:18px 0 0;
  border:0;
  border-top:1px solid rgba(127,102,48,.42);
  text-align:left;
}
.gallery .photo_gallery .owl-dots:empty{ display:none !important; }

.gallery .photo_gallery .owl-nav button.owl-prev,
.gallery .photo_gallery .owl-nav button.owl-next{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  box-sizing:border-box;
  width:46px; height:46px;
  min-width:46px;
  margin:0;
  padding:0;
  border:1px solid #4f6f52;
  border-radius:3px;
  background:transparent;
  color:#22331f;
  font-size:0;
  line-height:1;
  cursor:pointer;
  transition:background-color .22s ease, color .22s ease, border-color .22s ease;
}
.gallery .photo_gallery .owl-nav button.owl-prev i,
.gallery .photo_gallery .owl-nav button.owl-next i{
  font-size:16px;
  line-height:1;
  color:inherit;

}
@media (hover:hover){
  .gallery .photo_gallery .owl-nav button.owl-prev:hover,
  .gallery .photo_gallery .owl-nav button.owl-next:hover{
    background:#3a5240;
    border-color:#3a5240;
    color:#f7f3e9;
  }
}
.gallery .photo_gallery .owl-nav button.owl-prev:focus,
.gallery .photo_gallery .owl-nav button.owl-next:focus:not(:focus-visible){ outline:0; }
.gallery .photo_gallery .owl-nav button.owl-prev:focus-visible,
.gallery .photo_gallery .owl-nav button.owl-next:focus-visible{
  background:#3a5240;
  border-color:#3a5240;
  color:#f7f3e9;
  outline:2px solid #2b3f2f;
  outline-offset:2px;
}
.gallery .photo_gallery .owl-nav button.owl-prev:active,
.gallery .photo_gallery .owl-nav button.owl-next:active{ transform:translateY(1px); }

.gallery .jd-sr{
  position:absolute !important;
  width:1px; height:1px;
  margin:-1px; padding:0;
  overflow:hidden;
  clip:rect(0 0 0 0);
  clip-path:inset(50%);
  white-space:nowrap;
  border:0;
}

/* THE CONTROL SITS IN THE RUNNING FOOT, beside the arrows - not floating over
   the plates. This rule was written when the button was appended to the
   carousel itself, and at right:8px/bottom:0 over a .photo_gallery that is
   position:relative it lands ON the bottom row of photographs, which the
   preamble at the head of this block forbids outright.
   position:relative and NOT static: the two bars of the pause mark are
   ::before/::after with position:absolute, so this button has to go on being
   their containing block. */
.gallery .photo_gallery .owl-nav .jd-owl-pause{
  position:relative;
  right:auto; bottom:auto;
}

.gallery .jd-owl-pause{
  position:absolute; right:8px; bottom:0; z-index:3;
  box-sizing:border-box;
  width:46px; height:46px; min-width:46px;
  padding:0; cursor:pointer;
  background:transparent;
  border:1px solid #4f6f52;
  border-radius:3px;
  transition:background-color .22s ease, border-color .22s ease;
}
@media (hover:hover){
  .gallery .jd-owl-pause:hover{ background:#c6c3ba; border-color:#2b3f2f; }
}
.gallery .jd-owl-pause:focus:not(:focus-visible){ outline:0; }
.gallery .jd-owl-pause:focus-visible{
  outline:2px solid #2b3f2f;
  outline-offset:2px;
}

.gallery .jd-owl-pause::before,
.gallery .jd-owl-pause::after{
  content:""; position:absolute; top:50%; transform:translateY(-50%);
  width:4px; height:14px; background:#22331f;
}
.gallery .jd-owl-pause::before{ left:17px; }
.gallery .jd-owl-pause::after{ left:25px; }
.gallery .jd-owl-pause.is-paused::before{
  left:18px; width:0; height:0; background:none;
  border-left:12px solid #22331f;
  border-top:8px solid transparent;
  border-bottom:8px solid transparent;
}
.gallery .jd-owl-pause.is-paused::after{ display:none; }

.gallery .text-center.mt-3{ margin-top:44px !important; }

.gallery .btn_blue_rounded{
  display:inline-flex;
  align-items:center; justify-content:center;
  min-height:52px;
  padding:14px 34px !important;
  border:1px solid var(--jd-gold-dp);
  border-radius:0;
  overflow:visible;
  transform:none;
  font-size:17px; font-weight:700;
  letter-spacing:.01em; line-height:1.2;
  text-transform:none;
  color:#1d2c20;
  background:linear-gradient(180deg,#eaddb2 0%,#d9c390 34%,#c9ad72 52%,#d2b87f 66%,#b99a56 100%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.55),
             0 1px 2px rgba(34,51,31,.10),
             2px 12px 22px -14px rgba(34,51,31,.5);
  transition:background .25s ease, transform .25s ease, box-shadow .25s ease;
  -webkit-tap-highlight-color:transparent;
}
.gallery .btn_blue_rounded i{
  margin-left:11px;
  font-size:15px;
  color:inherit;
  transition:transform .25s ease;
}
@media (hover:hover){

  .gallery .btn_blue_rounded:hover{
    color:#1d2c20;
    background:linear-gradient(180deg,#f3e9cb 0%,#e2cfa2 34%,#d5bb84 52%,#dcc491 66%,#c3a660 100%);
    transform:translateY(-2px);
    box-shadow:inset 0 1px 0 rgba(255,255,255,.6),
               0 1px 2px rgba(34,51,31,.12),
               2px 18px 30px -16px rgba(34,51,31,.55);
  }
  .gallery .btn_blue_rounded:hover i{ color:inherit; transform:translateX(3px); }
}

.gallery .btn_blue_rounded:active{ transform:translateY(1px); }

.gallery .btn_blue_rounded:focus:not(:focus-visible){ outline:0; }
.gallery .btn_blue_rounded:focus-visible{
  outline:2px solid var(--jd-green-deep);
  outline-offset:3px;
}

@media (max-width:991.98px){
  section.section-gaping.gallery{ padding:44px 0 46px; }
  .gallery .section_title{ margin-bottom:30px; }
  .gallery .photo_gallery .owl-nav{ margin-top:22px; }
}

@media (max-width:767.98px){
  section.section-gaping.gallery{ padding:34px 0 36px; }
  .gallery .section_title{ margin-bottom:26px; }
  .gallery .section_title p{ font-size:16px; margin-top:13px; }
}

@media (max-width:575.98px){
  .gallery .btn_blue_rounded{ padding:13px 20px !important; font-size:16px; }
}

@media (prefers-reduced-motion:reduce){
  .gallery .wow{
    animation:none !important;
    visibility:visible !important;
    opacity:1 !important;
  }
  .gallery .photo_gallery .owl-stage{ transition-duration:.01ms !important; }
  .gallery .photo-img,
  .gallery .photo-icon,
  .gallery .photo-icon i,
  .gallery .view_title,
  .gallery .photo_gallery .owl-nav button.owl-prev,
  .gallery .photo_gallery .owl-nav button.owl-next,
  .gallery .jd-owl-pause,
  .gallery .btn_blue_rounded,
  .gallery .btn_blue_rounded i{ transition-duration:.01ms !important; }
  .gallery .btn_blue_rounded:hover,
  .gallery .btn_blue_rounded:active,
  .gallery .btn_blue_rounded:hover i,
  .gallery .photo_gallery .owl-nav button.owl-prev:active,
  .gallery .photo_gallery .owl-nav button.owl-next:active{ transform:none !important; }
}

@media (prefers-contrast:more){
  section.section-gaping.gallery{
    background-image:none;
    background-color:#d5d3cb;
  }
  .gallery .section_title h2::after{
    background:none;
    border-top:1px solid #6b551f;
    height:0;
  }
  .gallery .photo-img{
    background:#bcbab1;
    outline-color:#2b3f2f;
  }
  .gallery .post-box:hover .photo-img{ outline-width:2px; }
  .gallery .photo-icon,
  .gallery .photo_gallery .owl-nav button.owl-prev,
  .gallery .photo_gallery .owl-nav button.owl-next,
  .gallery .jd-owl-pause{ border-color:#2b3f2f; }
  .gallery .btn_blue_rounded{ border-color:#6b551f; }
}

@media (forced-colors:active){
  section.section-gaping.gallery{
    background-image:none;
    background-color:Canvas;
  }
  .gallery .section_title h2{ color:CanvasText; }
  .gallery .section_title h2::after{
    background:none; border-top:1px solid CanvasText; height:0;
  }
  .gallery .section_title p{ color:CanvasText; }
  .gallery .photo-img{ background:Canvas; outline-color:CanvasText; }
  .gallery .photo-date{ background:none; }
  .gallery .photo-icon,
  .gallery .photo_gallery .owl-nav button.owl-prev,
  .gallery .photo_gallery .owl-nav button.owl-next,
  .gallery .jd-owl-pause{
    background:ButtonFace; color:ButtonText; border:1px solid ButtonText;
  }
  .gallery .photo-icon i{ color:ButtonText; }
  .gallery .post-box:hover .photo-icon,
  .gallery .photo_gallery .owl-nav button.owl-prev:hover,
  .gallery .photo_gallery .owl-nav button.owl-next:hover,
  .gallery .jd-owl-pause:hover{ background:Highlight; color:HighlightText; }
  .gallery .post-box:hover .photo-icon i{ color:HighlightText; }
  .gallery .jd-owl-pause::before,
  .gallery .jd-owl-pause::after{ background:ButtonText; }
  .gallery .jd-owl-pause.is-paused::before{
    background:none; border-left-color:ButtonText;
  }
  .gallery .view_title{ color:CanvasText; }
  .gallery .btn_blue_rounded{
    background-image:none;
    background-color:ButtonFace; color:ButtonText;
    border:1px solid ButtonText; box-shadow:none;
  }
  .gallery .btn_blue_rounded i{ color:ButtonText; }
  .gallery .btn_blue_rounded:hover{ background-color:Highlight; color:HighlightText; }
  .gallery .post-box:focus-visible,
  .gallery .photo_gallery .owl-nav button.owl-prev:focus-visible,
  .gallery .photo_gallery .owl-nav button.owl-next:focus-visible,
  .gallery .jd-owl-pause:focus-visible,
  .gallery .btn_blue_rounded:focus-visible{ outline-color:CanvasText; }
}

@media print{
  .gallery .wow{
    visibility:visible !important;
    opacity:1 !important;
    animation:none !important;
  }
  section.section-gaping.gallery{
    padding:24px 0 18pt;
    background-image:none !important;
    background-color:#fff !important;
    border-bottom:1px solid #7f6630;
  }
  .gallery .section_title{ break-after:avoid; page-break-after:avoid; }
  .gallery .section_title h2{ color:#000; }
  .gallery .section_title h2::after{
    background:none; border-top:1px solid #a89f8a; height:0;
  }
  .gallery .section_title p{ color:#000; }
  .gallery .photo_gallery .item{ padding:6pt; }
  .gallery .post-box{ margin-bottom:14pt; break-inside:avoid; page-break-inside:avoid; }
  .gallery .photo-img{
    background:none;
    outline:1px solid #a89f8a;
    outline-offset:0;
  }

  .gallery .photo-date,
  .gallery .photo-icon,
  .gallery .jd-owl-pause{ display:none; }

  .gallery .photo_gallery .owl-nav,
  .gallery .photo_gallery .owl-dots{ display:none !important; }
  .gallery .view_title{
    color:#000;
    min-height:0;
    margin-top:6pt;
    padding-right:0;
    break-inside:avoid; page-break-inside:avoid;
  }
  .gallery .text-center.mt-3{ margin-top:18pt !important; }
  .gallery .btn_blue_rounded{
    background:none !important;
    color:#000;
    border:1px solid #7f6630;
    box-shadow:none;
    transform:none;
    padding:8pt 16pt !important;
    min-height:0;
  }
  .gallery .btn_blue_rounded i{ color:#7f6630; }
}

/* ---------- second pass: the plate ---------- */
.gallery .post-box{ margin:0; }

/* THE FALLBACK, ONCE. What the plates look like in the window between the
   markup arriving and Owl initialising - which on this page is not a flicker:
   the gallery is far down a long document and initialises late.
   These three steps mirror the JS ladder exactly (1 / 2 / 4 - see the
   responsive map in js/custom.js), so nothing jumps when Owl takes over.
   Six contradictory declarations used to be spread across two passes here -
   25%, 33.33%, 50%, 100%, then 50% and 100% again, the later pair silently
   winning on source order - and none of them matched the ladder. */
.gallery .photo_gallery:not(.owl-loaded) .item{ flex:0 0 25%; }
@media (max-width:991.98px){
  .gallery .photo_gallery:not(.owl-loaded) .item{ flex:0 0 50%; }
}
@media (max-width:575.98px){
  .gallery .photo_gallery:not(.owl-loaded) .item{ flex:0 0 100%; }
}

@media (min-width:992px){
  .gallery .photo_gallery .item{ padding:8px 12px; }
}

@media (min-width:768px){
  .gallery .view_title{
    font-size:19px;
    margin-top:12px;
  }
}

.gallery .photo_gallery .owl-nav{ gap:16px; }
@media (min-width:768px){
  .gallery .photo_gallery .owl-nav{ margin-top:32px; }
}

.gallery .post-box:focus{
  outline:2px solid #2b3f2f;
  outline-offset:2px;
}
.gallery .post-box:focus:not(:focus-visible){ outline:0; }
.gallery .post-box:focus-visible{
  outline:2px solid #2b3f2f;
  outline-offset:2px;
}

.gallery .photo_gallery .owl-nav button.owl-prev:focus,
.gallery .photo_gallery .owl-nav button.owl-next:focus{
  outline:2px solid #2b3f2f;
  outline-offset:2px;
}
.gallery .photo_gallery .owl-nav button.owl-prev:focus:not(:focus-visible),
.gallery .photo_gallery .owl-nav button.owl-next:focus:not(:focus-visible){
  outline:0;
}
.gallery .photo_gallery .owl-nav button.owl-prev:focus-visible,
.gallery .photo_gallery .owl-nav button.owl-next:focus-visible{
  background:#3a5240;
  border-color:#3a5240;
  color:#f7f3e9;
  outline:2px solid #2b3f2f;
  outline-offset:2px;
}

.gallery .btn_blue_rounded:focus{
  outline:2px solid var(--jd-green-deep);
  outline-offset:3px;
}
.gallery .btn_blue_rounded:focus:not(:focus-visible){ outline:0; }
.gallery .btn_blue_rounded:focus-visible{
  outline:2px solid var(--jd-green-deep);
  outline-offset:3px;
}

@media (prefers-reduced-motion:reduce){
  .gallery .photo_gallery .owl-stage{ transition-duration:.01ms !important; }
}

@media (prefers-contrast:more){
  .gallery .photo_gallery .owl-nav button.owl-prev:hover,
  .gallery .photo_gallery .owl-nav button.owl-next:hover,
  .gallery .photo_gallery .owl-nav button.owl-prev:focus-visible,
  .gallery .photo_gallery .owl-nav button.owl-next:focus-visible{
    border-color:#2b3f2f;
  }
  .gallery .post-box:hover .photo-icon,
  .gallery .post-box:focus-visible .photo-icon{ border-color:#2b3f2f; }
}

@media (forced-colors:active){
  .gallery .post-box:focus,
  .gallery .photo_gallery .owl-nav button.owl-prev:focus,
  .gallery .photo_gallery .owl-nav button.owl-next:focus,
  .gallery .btn_blue_rounded:focus{ outline-color:CanvasText; }
  .gallery .photo_gallery .owl-nav button.owl-prev:focus-visible,
  .gallery .photo_gallery .owl-nav button.owl-next:focus-visible{
    background:Highlight; color:HighlightText; border-color:HighlightText;
  }
}

@media print{
  .gallery .photo_gallery .item{ padding:6pt; }
  .gallery .view_title{ font-size:16px; margin-top:6pt; }
}

/* The block that stood here zeroed the item padding and capped .post-box at
   680px between 992 and 1279.98. It was written when 992 showed ONE plate and
   the cap was what stopped a single photograph filling the band. There are FOUR
   plates there now, and with the padding gone their photographs touched - no
   gutter at all. Removed rather than re-tuned: the base .item{padding:8px} is
   already the right gutter at every step of the 1/2/4 ladder. */


/* ---------- this page's additions to the plate ---------- */
/* "11 photographs" under the album's name: the one fact the old cards
   withheld. 14px is below the body floor and that is deliberate - it is a
   label on a caption, set in the darker green so it still reads at 6.4:1 on
   the painted wall. */
/* THE FOOT LINE: count, a leader rule, and the magnifier at the right-hand end.
   margin-top:auto pushes it to the bottom of the fixed box, which is what puts
   every plate's foot on one line across a spread. The leader states nothing the
   words do not - it is there to carry the eye to the mark. */
.gallery .view_title .jd-g-n{
  display:flex;
  align-items:baseline;
  gap:10px;
  margin-top:auto;
  padding-top:6px;
  font-size:16px;                    /* the page's floor for this audience. It
                                        was 14px, then 15px, on the argument
                                        that a count is a label rather than
                                        prose - but "N photographs" is the one
                                        fact the old cards withheld, and it is
                                        the reason to open the album. */
  line-height:1.3;
  font-weight:400;
  letter-spacing:.04em;
  color:#2b3f2f;                     /* 7.54:1 on the ground */
  font-variant-numeric:tabular-nums;
}
.gallery .view_title .jd-g-n::after{
  content:"";
  flex:1 1 auto;
  min-width:12px;
  border-top:1px solid rgba(43,63,47,.25);
  transform:translateY(-.32em);
}
/* (the 15px step that stood here is redundant now the base is 16px) */

/* the count between the arrows - "3 of 20 albums" - which the sibling's
   script inserts but its stylesheet never dressed */
.gallery .photo_gallery .jd-owl-count{
  order:-1;                          /* the script inserts it after .owl-prev;
                                        this puts it at the head of the foot */
  margin:0;
  margin-right:auto;
  min-width:0;
  font-family:Helvetica, sans-serif;
  font-size:16px;
  line-height:1.3;                   /* it is no longer being propped level with
                                        the arrows by hand */
  font-weight:400;
  letter-spacing:.01em;
  color:#22331f;
  text-align:left;
  font-variant-numeric:tabular-nums;
}
@media (prefers-contrast:more){
  .gallery .view_title .jd-g-n,
  .gallery .photo_gallery .jd-owl-count{ color:#1d2c20; }
}
@media (forced-colors:active){
  .gallery .view_title .jd-g-n,
  .gallery .photo_gallery .jd-owl-count{ color:CanvasText; }
}
@media print{
  .gallery .view_title .jd-g-n{ color:#000; }
  .gallery .photo_gallery .jd-owl-count{ display:none; }
}


/* ==========================================================================
   "TAKE A TOUR"  (#Why_Jagriti_Dham) - THE LETTER AND THE FILM
   ==========================================================================
   The last persuasive room before the address: a letter, and the tour film.
   The sibling page rebuilt its version of this room ("We Welcome You to
   Jagriti Dham Family") as a letter set at reading size with a lead and a
   sign-off, the film as a framed still with its name under it and the play
   mark seated on the paper - NOTHING drawn on the picture - on a warm paper
   ground with the page's grain. The full account is in the sibling's
   css/banner.css from line 6868; its rules are carried here whole, and the
   page-specific rules that follow re-aim them at THIS room's shape:

     THE HEAD IS FULL-WIDTH AND BENGALI. This page's title is the brand line
     "Jagriti Dham হোক নতুন ঠিকানা" set in the site's own Kalpana
     face (style2.css:1933 - the one place on the page it is used), with its
     translation under it. The sibling's letter h2 rules ask for Helvetica;
     the head below keeps Kalpana, because the line is a mark, not a
     heading in the ordinary sense, and the translation line takes the
     heading's role for anyone who cannot read it. The old <h5> that carried
     the translation was a skipped heading level (h2 -> h5); it is a
     paragraph now.

     THE FILM IS ON THE RIGHT, STICKY. The sibling puts the film under its
     letter and a four-figure register on the right; this page has no
     register, and its film has always sat beside the letter. It stays
     there, and it stays with the reader (sticky at 114px, under the
     condensed header) while the letter is read - which is what the legacy
     .sticky_div at style2.css:1714 meant to do at top:100px, 46px too high.

     THE LIST. "Why Jagriti Dham?" and its three points get the house rows:
     a hairline between, the check in its own gutter, the lead-in of each
     point in bold - against style2.css:1623-1642's 20px check hung at
     margin-left:-23px, whose wrapped lines ran back under it.

   THE FLAGS: the two title sizes, against responsive2.css:166-167's flagged
   32px/22px for .take_tour h2/h3 below 768; the rest are the sibling's own.
   ========================================================================== */

section.section-gaping.jd-welcome{
  padding:56px 0 60px;

  background-color:#ece8dd;

  background-image:

    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='wfg'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='120' height='120' filter='url(%23wfg)' opacity='.026'/%3E%3C/svg%3E"),

    linear-gradient(168deg,
      rgba(255,252,240,.22)   0,
      rgba(255,252,240,.09) 170px,
      rgba(255,252,240,0)   420px);

  background-repeat:repeat, no-repeat;
}

.jd-welcome > .container > .row{ align-items:flex-start; }

@media (min-width:992px){
  .jd-welcome .jd-w-letter{ width:41.6667%; }
  .jd-welcome .jd-w-side{
    width:58.3333%;
    padding-left:32px;
  }
}

.jd-welcome .sticky_div{ position:static; top:auto; }

.jd-welcome .jd-w-letter > h2{
  font-family:Helvetica, sans-serif;
  font-size:clamp(23px, 2.7vw, 34px) !important;
  font-weight:700;
  line-height:1.24;
  letter-spacing:.004em;
  color:#22331f;
  margin:0 0 22px;
  padding:0;
  position:static;
  text-align:left;
  text-transform:none;
}
.jd-welcome .jd-w-letter > h2 strong{
  font-weight:inherit;
}
.jd-welcome .jd-w-letter > h2::after{
  content:"";
  position:static; display:block;
  bottom:auto; left:auto; right:auto;
  width:58px; height:1px;
  margin:18px 0 0;
  background:linear-gradient(90deg,
    rgba(203,178,121,.95),
    rgba(203,178,121,0));
}

.jd-welcome .jd-w-letter > p{
  max-width:34rem;
  margin:0 0 1.1em;
  font-size:17px;
  font-weight:400;
  line-height:1.72;
  letter-spacing:.005em;
  color:#3f4a41;
  text-align:left;
  hyphens:manual;
  -webkit-hyphens:manual;
  overflow-wrap:break-word;
}

.jd-welcome .jd-w-letter > p:first-of-type{
  font-size:19px;
  line-height:1.62;
  color:#2b3f2f;
  margin-bottom:1.05em;
}

.jd-welcome .jd-w-letter > p:last-of-type{
  margin:26px 0 0;
  font-size:19px;
  line-height:1.55;
  color:#22331f;
}

.jd-welcome .videotambal{
  position:relative;
  display:block;
  max-width:34rem;
  margin:30px 0 0;
  overflow:visible;
  border-radius:0;
  box-shadow:none;
  text-decoration:none;
  color:#22331f;
  -webkit-tap-highlight-color:transparent;
}
.jd-welcome .videogallery{
  position:static;
  width:100%;
  line-height:0;
}
.jd-welcome .overlayy{
  position:static;
  pointer-events:none;
}

.jd-welcome .image-overlay{
  display:block;
  width:100%;
  height:auto;
  min-height:0;
  aspect-ratio:16 / 9;
  object-fit:cover;
  object-position:50% 50%;
  border-radius:6px;
  background:#dad5c6;
  outline:1px solid #4f6f52;
  outline-offset:0;
  filter:none; -webkit-filter:none;
  transition:outline-color .22s ease;
}

.jd-welcome .jd-w-filmlabel{
  display:flex;
  align-items:center;
  min-height:46px;
  margin-top:14px;
  padding-right:58px;
  font-size:17px;
  font-weight:700;
  line-height:1.4;
  letter-spacing:.005em;
  color:#22331f;
  transition:color .22s ease;
}

.jd-welcome .overlayy .text{
  position:absolute;
  top:auto; left:auto; right:0; bottom:0;
  transform:none;
  -webkit-transform:none;
  -ms-transform:none;
  box-sizing:border-box;
  width:46px; height:46px;
  border-radius:3px;
  border:1px solid #4f6f52;
  background:transparent;
  box-shadow:none;
  font-size:0;
  color:inherit;
  text-align:center;
  transition:background-color .22s ease, border-color .22s ease;
}
.jd-welcome .overlayy .text i{
  display:block;
  line-height:44px;
  font-size:17px;
  font-weight:900;
  color:#22331f;
  opacity:1;
  transform:translateX(2px);
  transition:color .22s ease;
}

@media (hover:hover){
  .jd-welcome .videotambal:hover .image-overlay{ outline-color:#2b3f2f; }
  .jd-welcome .videotambal:hover .overlayy .text{
    background:#3a5240;
    border-color:#3a5240;
  }
  .jd-welcome .videogallery:hover .overlayy .text i,
  .jd-welcome .videotambal:hover .overlayy .text i{
    color:#f7f3e9;
    opacity:1;
  }
  .jd-welcome .videotambal:hover .jd-w-filmlabel{ color:#1d2c20; }
}

.jd-welcome .videotambal:active .image-overlay{ outline-color:#2b3f2f; }

.jd-welcome .videotambal:focus:not(:focus-visible){ outline:0; }
.jd-welcome .videotambal:focus-visible{
  outline:2px solid #2b3f2f;
  outline-offset:3px;
  border-radius:6px;
}
.jd-welcome .videotambal:focus-visible .image-overlay{ outline-color:#2b3f2f; }
.jd-welcome .videotambal:focus-visible .overlayy .text{
  background:#3a5240; border-color:#3a5240;
}
.jd-welcome .videotambal:focus-visible .overlayy .text i{ color:#f7f3e9; }
.jd-welcome .videotambal:focus-visible .jd-w-filmlabel{ color:#1d2c20; }

.jd-welcome .jd-w-register{
  --bs-gutter-x:0;
  --bs-gutter-y:0;
  margin:0;
}
.jd-welcome .jd-w-register > div{
  flex:0 0 100%;
  width:100%;
  max-width:100%;
  margin-top:0;
  padding-left:0;
  padding-right:0;
}
.jd-welcome .jd-w-register > div + div > .grid{
  margin-top:28px;
  padding-top:28px;
  border-top:1px solid #4f6f52;
}

.jd-welcome .grid{
  position:static;
  max-width:none;
  margin:0;
  padding:0;
  text-align:left;
  list-style:none;
}

.jd-welcome .jd-w-register .grid{
  visibility:visible !important;
  animation:none !important;
}

.jd-welcome .grid figure.effect-oscar{
  position:static;
  display:flex;
  flex-wrap:wrap;
  align-items:flex-start;
  gap:14px 26px;
  float:none;
  overflow:visible;
  margin:0;
  padding:0;
  text-align:left;
  cursor:auto;
  background:transparent;
}

.jd-welcome .grid figure img{
  position:static;
  display:block;
  float:none;
  flex:0 0 auto;
  width:clamp(120px, 13vw, 176px);
  height:auto;
  min-height:0;
  max-width:100%;
  aspect-ratio:11 / 12;
  object-fit:cover;
  object-position:50% 50%;
  border-radius:6px;
  background:#dad5c6;
  outline:1px solid #4f6f52;
  outline-offset:0;
  opacity:1;
  filter:none;
  -webkit-filter:none;
  transform:none;
  -webkit-transform:none;
  transition:none;
  -webkit-transition:none;
}

.jd-welcome .grid figure figcaption{
  position:static;
  top:auto; left:auto;
  width:auto; height:auto;
  flex:1 1 240px;
  min-width:0;
  padding:0;
  margin:0;
  color:#3f4a41;
  font-size:16px;
  text-transform:none;
  text-align:left;
  backface-visibility:visible;
}
.jd-welcome .grid figure.effect-oscar figcaption::before{
  content:none;
  display:none;
}
.jd-welcome .grid figure.effect-oscar figcaption h2,
.jd-welcome .grid figure.effect-oscar figcaption h3{
  margin:0 0 8px;
  padding:0;
  transform:none;
  transition:none;
  font-family:Helvetica, sans-serif;
  font-size:18px !important;
  font-weight:700;
  line-height:1.3;
  letter-spacing:.005em;
  color:#22331f;
  text-transform:none;
  text-shadow:none;
}
.jd-welcome .grid figure.effect-oscar figcaption p{
  margin:0;
  padding:0;
  opacity:1;
  transform:none;
  transition:none;
  font-size:16px;
  font-weight:400;
  line-height:1.6;
  letter-spacing:.005em;
  color:#3f4a41;
  text-transform:none;
  overflow-wrap:break-word;
}

@media (hover:hover){
  .jd-welcome .grid figure.effect-oscar:hover img{
    opacity:1;
    filter:none; -webkit-filter:none;
    transform:none; -webkit-transform:none;
  }
  .jd-welcome .grid figure.effect-oscar:hover figcaption{
    background-color:transparent;
  }
  .jd-welcome .grid figure.effect-oscar:hover figcaption h2,
  .jd-welcome .grid figure.effect-oscar:hover figcaption h3{
    transform:none; margin:0 0 8px;
  }
  .jd-welcome .grid figure.effect-oscar:hover figcaption p{
    opacity:1; transform:none;
  }
}

@media (min-width:992px) and (max-width:1199.98px){
  .jd-welcome .jd-w-letter{ width:45%; }
  .jd-welcome .jd-w-side{ width:55%; }
}

@media (max-width:1199.98px){

  .jd-welcome .grid figure.effect-oscar{ gap:14px 22px; }
}

@media (max-width:991.98px){

  section.section-gaping.jd-welcome{ padding:44px 0 46px; }
  .jd-welcome .jd-w-letter{ padding-bottom:40px; }
}

@media (max-width:767.98px){

  section.section-gaping.jd-welcome{ padding:34px 0 36px; }
  .jd-welcome .jd-w-letter{ padding-bottom:32px; }
  .jd-welcome .jd-w-letter > p{ font-size:16px; line-height:1.68; }
  .jd-welcome .jd-w-letter > p:first-of-type{ font-size:18px; }
  .jd-welcome .jd-w-letter > p:last-of-type{ font-size:18px; margin-top:22px; }
  .jd-welcome .videotambal{ margin-top:24px; }
  .jd-welcome .jd-w-register > div + div > .grid{
    margin-top:24px; padding-top:24px;
  }
}

@media (max-width:575.98px){

  .jd-welcome .jd-w-filmlabel{ font-size:16px; padding-right:56px; }
  .jd-welcome .grid figure.effect-oscar{ gap:12px 22px; }
}

@media (prefers-reduced-motion:reduce){
  .jd-welcome .wow{
    animation:none !important;
    visibility:visible !important;
    opacity:1 !important;
  }
  .jd-welcome .image-overlay,
  .jd-welcome .overlayy .text,
  .jd-welcome .overlayy .text i,
  .jd-welcome .jd-w-filmlabel{
    transition-duration:.01ms !important;
    transition-delay:0s !important;
  }
}

@media (prefers-contrast:more){
  section.section-gaping.jd-welcome{
    background-image:none;
    background-color:#ece8dd;
  }
  .jd-welcome .jd-w-letter > h2::after{
    background:none;
    border-top:1px solid #6b551f;
    height:0;
  }
  .jd-welcome .jd-w-register > div + div > .grid{
    border-top-color:#2b3f2f;
  }
  .jd-welcome .image-overlay,
  .jd-welcome .grid figure img{
    background:#cec8b6;
    outline-color:#2b3f2f;
  }
  .jd-welcome .videotambal:hover .image-overlay{ outline-width:2px; }
  .jd-welcome .overlayy .text{ border-color:#2b3f2f; }
}

@media (forced-colors:active){
  section.section-gaping.jd-welcome{
    background-image:none;
    background-color:Canvas;
  }
  .jd-welcome .jd-w-letter > h2{ color:CanvasText; }
  .jd-welcome .jd-w-letter > h2::after{
    background:none; border-top:1px solid CanvasText; height:0;
  }
  .jd-welcome .jd-w-letter > p,
  .jd-welcome .jd-w-letter > p:first-of-type,
  .jd-welcome .jd-w-letter > p:last-of-type{ color:CanvasText; }
  .jd-welcome .jd-w-register > div + div > .grid{ border-top-color:CanvasText; }
  .jd-welcome .image-overlay,
  .jd-welcome .grid figure img{
    background:Canvas; outline-color:CanvasText;
  }
  .jd-welcome .grid figure.effect-oscar figcaption h2,
  .jd-welcome .grid figure.effect-oscar figcaption h3,
  .jd-welcome .grid figure.effect-oscar figcaption p{ color:CanvasText; }
  .jd-welcome .jd-w-filmlabel{ color:LinkText; }
  .jd-welcome .overlayy .text{
    background:ButtonFace; border:1px solid ButtonText;
  }
  .jd-welcome .overlayy .text i{ color:ButtonText; }
  .jd-welcome .videotambal:hover .overlayy .text{
    background:Highlight; border-color:HighlightText;
  }
  .jd-welcome .videotambal:hover .overlayy .text i{ color:HighlightText; }
  .jd-welcome .videotambal:focus-visible{ outline-color:CanvasText; }
}

@media print{
  .jd-welcome .wow{
    visibility:visible !important;
    opacity:1 !important;
    animation:none !important;
  }
  section.section-gaping.jd-welcome{
    padding:24px 0 18pt;
    background-image:none !important;
    background-color:#fff !important;
    border-bottom:1px solid #7f6630;
  }
  .jd-welcome .jd-w-letter{ padding-bottom:18pt; }
  .jd-welcome .jd-w-letter > h2{
    color:#000; break-after:avoid; page-break-after:avoid;
  }
  .jd-welcome .jd-w-letter > h2::after{
    background:none; border-top:1px solid #a89f8a; height:0;
  }
  .jd-welcome .jd-w-letter > p,
  .jd-welcome .jd-w-letter > p:first-of-type,
  .jd-welcome .jd-w-letter > p:last-of-type{
    color:#000;
    max-width:none;
  }
  .jd-welcome .videotambal{
    margin-top:14pt; max-width:none;
    break-inside:avoid; page-break-inside:avoid;
  }
  .jd-welcome .image-overlay,
  .jd-welcome .grid figure img{
    background:none;
    outline:1px solid #a89f8a;
    outline-offset:0;
  }

  .jd-welcome .overlayy{ display:none; }
  .jd-welcome .jd-w-filmlabel{
    color:#000; min-height:0; padding-right:0; margin-top:6pt;
  }
  .jd-welcome .jd-w-side{ padding-left:0; }
  .jd-welcome .grid{ break-inside:avoid; page-break-inside:avoid; }
  .jd-welcome .jd-w-register > div + div > .grid{
    margin-top:14pt; padding-top:14pt; border-top-color:#a89f8a;
  }
  .jd-welcome .grid figure.effect-oscar figcaption h2,
  .jd-welcome .grid figure.effect-oscar figcaption h3,
  .jd-welcome .grid figure.effect-oscar figcaption p{ color:#000; }
}

/* NOT JUSTIFIED. Justification on a 544px measure at 17px leaves six or seven
   words on a line, and the space left over is shared between five gaps - so the
   gaps grow to two and three times a normal word space and the reader sees bands
   of white running down the column. "a look around our beautiful gardens and
   enjoy a lively" was more space than letters.
   Two bands were already exempted for exactly this reason (<=575.98 and the
   992-1199.98 laptop band, where the column is narrowest); the exemption is now
   the rule and those blocks are gone.
   hyphens:manual with it: automatic hyphenation was carrying the justification,
   and without justification to even out there is nothing for it to fix. */
.jd-welcome .jd-w-letter > p,
.jd-welcome .grid figure figcaption p{
  text-align:left;
  text-align-last:auto;
  hyphens:manual;
  -webkit-hyphens:manual;
  word-spacing:normal;
}

.jd-welcome .jd-w-letter > h2,
.jd-welcome .jd-w-filmlabel,
.jd-welcome .grid figure.effect-oscar figcaption h2,
.jd-welcome .grid figure.effect-oscar figcaption h3{
  text-align:left;
  text-align-last:auto;
}

@media print{
  .jd-welcome .jd-w-letter > p,
  .jd-welcome .grid figure figcaption p{
    text-align:justify;
    text-align-last:left;
    hyphens:auto;
    -webkit-hyphens:auto;
  }
}


/* ---------- this page: the head, the list, the film on the right ---------- */
.jd-welcome .jd-w-head{
  max-width:44rem;
  margin:0 0 30px;
}
.jd-welcome .jd-w-head h2{
  font-family:'KalpanaUnicode', Helvetica, sans-serif;
  font-style:italic;
  font-weight:400;
  /* The floor scales with the phone, not a fixed 30px: the line measures
     331px at 30px in Kalpana, and a 375px phone gives it a 336px box - five
     pixels, which rasterisation differences erase - while 360 and 320 wrapped
     it before the last Bengali word. 7.4vw is 24px at 320, 27.8px at 375,
     the cap from 595px up - and the cap is 44px, not the 46px first tried,
     because between 576 and 767 the container is 540px and a 46px line
     (507px) left 9px in its 516px box; at 44px it is 485px, 31px clear.
     Measured one line at every width from 320 to 1280 with 13px to spare
     at the narrowest. The flag is for responsive2.css:166
     (.take_tour h2{font-size:32px!important}). */
  font-size:clamp(24px, 7.4vw, 44px) !important;
  line-height:1.25;
  letter-spacing:0;
  color:#22331f;
  margin:0;
  padding:0;
  position:static;
  text-align:left;
}
.jd-welcome .jd-w-head h2::after{
  content:"";
  display:block;
  width:58px; height:1px;
  margin:16px 0 0;
  background:linear-gradient(90deg, rgba(203,178,121,.95), rgba(203,178,121,0));
}
.jd-welcome .jd-w-sub{
  margin:14px 0 0;
  font-family:Helvetica, sans-serif;
  font-size:19px;
  font-weight:700;
  line-height:1.4;
  letter-spacing:.005em;
  color:#2b3f2f;
}

.jd-welcome .jd-w-letter h3{
  margin:26px 0 12px;
  padding:0;
  font-family:Helvetica, sans-serif;
  font-size:clamp(19px, 1.6vw, 22px) !important;   /* responsive2.css:167 is flagged */
  font-weight:700;
  line-height:1.3;
  letter-spacing:.005em;
  color:#22331f;
}
.jd-welcome .jd-w-letter.tick ul{
  max-width:34rem;
  margin:0 0 6px;
  padding:0;
  list-style:none;
}
.jd-welcome .jd-w-letter.tick ul li{
  --jw-row-y:11px;
  position:relative;
  margin:0;
  padding:var(--jw-row-y) 0 var(--jw-row-y) 1.9em;
  border-top:1px solid rgba(79,111,82,.20);
  font-family:Helvetica, sans-serif;
  font-size:17px;
  line-height:1.62;
  font-weight:400;
  color:#3f4a41;
  overflow-wrap:break-word;
}
.jd-welcome .jd-w-letter.tick ul li:last-child{ border-bottom:1px solid rgba(79,111,82,.20); }
.jd-welcome .jd-w-letter.tick ul li strong{ font-weight:700; color:#22331f; }
.jd-welcome .jd-w-letter.tick ul li::before{
  content:"\f14a";
  content:"\f14a" / "";
  font-family:"Font Awesome 5 Free";
  font-weight:900;
  position:absolute;
  left:0; top:var(--jw-row-y);
  width:auto; height:auto;
  margin:0; padding:0;
  font-size:.9em;
  line-height:1.8;
  color:#3a5240;
  transition:none;
}

/* the film beside the letter, not under it */
.jd-welcome .videotambal{ margin-top:0; max-width:none; }
@media (min-width:992px){
  .jd-welcome .jd-w-letter{ width:58.3333%; padding-right:36px; }
  .jd-welcome .jd-w-side{ width:41.6667%; padding-left:0; }
  .jd-welcome .sticky_div{ position:sticky; top:114px; }
}
@media (min-width:992px) and (max-width:1199.98px){
  .jd-welcome .jd-w-letter{ width:55%; padding-right:28px; }
  .jd-welcome .jd-w-side{ width:45%; }
}
@media (max-width:991.98px){
  .jd-welcome .jd-w-head{ margin-bottom:26px; }
  .jd-welcome .jd-w-letter{ padding-bottom:0; }
  .jd-welcome .jd-w-side{ margin-top:30px; }
  .jd-welcome .videotambal{ max-width:34rem; }
}
@media (max-width:767.98px){
  .jd-welcome .jd-w-head{ margin-bottom:22px; }
  .jd-welcome .jd-w-sub{ font-size:17px; }
  .jd-welcome .jd-w-letter.tick ul li{ font-size:16px; --jw-row-y:10px; }
  .jd-welcome .jd-w-side{ margin-top:26px; }
}
@media (prefers-contrast:more){
  .jd-welcome .jd-w-head h2::after{ background:none; border-top:1px solid #6b551f; height:0; }
  .jd-welcome .jd-w-letter.tick ul li{ color:#22331f; border-color:rgba(29,44,32,.42); }
  .jd-welcome .jd-w-letter.tick ul li::before{ color:#22331f; }
}
@media (forced-colors:active){
  .jd-welcome .jd-w-head h2, .jd-welcome .jd-w-sub, .jd-welcome .jd-w-letter h3,
  .jd-welcome .jd-w-letter.tick ul li, .jd-welcome .jd-w-letter.tick ul li strong{ color:CanvasText; }
  .jd-welcome .jd-w-head h2::after{ background:none; border-top:1px solid CanvasText; height:0; }
  .jd-welcome .jd-w-letter.tick ul li{ border-color:CanvasText; }
  .jd-welcome .jd-w-letter.tick ul li::before{ color:CanvasText; }
}
@media print{
  .jd-welcome .jd-w-head h2, .jd-welcome .jd-w-sub, .jd-welcome .jd-w-letter h3,
  .jd-welcome .jd-w-letter.tick ul li, .jd-welcome .jd-w-letter.tick ul li strong{ color:#000; }
  .jd-welcome .jd-w-head h2::after{ background:none; border-top:1px solid #a89f8a; height:0; }
  .jd-welcome .jd-w-letter.tick ul li{ border-color:#a89f8a; break-inside:avoid; page-break-inside:avoid; }
  .jd-welcome .jd-w-letter.tick ul li::before{ color:#000; }
  .jd-welcome .sticky_div{ position:static; }
  .jd-welcome .jd-w-letter{ width:100%; padding-right:0; }
  .jd-welcome .jd-w-side{ width:100%; margin-top:14pt; }
}


/* ==========================================================================
   "LOCATION ADVANTAGES"  (#Location) - THE BOARD AND THE MAP
   ==========================================================================
   The last content room before the credentials and the footer, and the only
   one whose job is logistics rather than persuasion. The sibling page
   rebuilt it as a paper board - the address line, then a real table of the
   eight destinations and their drive times in two groups, the time in a
   pill - beside a map plate, on the green: "the room's name on the green,
   and nothing else", because on #4f6f52 the best any text can do is 5.6:1
   and everything a reader has to read belongs on paper at 12:1. The full
   account is in the sibling's css/banner.css from line 8463 (five
   sub-blocks: the board and map, breakpoints, preference branches, the equal
   halves, and the chip-and-pill pass); its rules are carried here whole.

   WHAT THIS PAGE HAD: eight <li>, each an <h3> wrapping a <p> - a heading
   per bullet, and invalid markup - the time as a floated <strong> on a
   brown #9b6f3f block, white on brown at 16px; one destination's icon was a
   15px <img> with no alt; the map at a flagged 466px with a green border
   (style2.css:1827), 225px below 768 (responsive2.css:120 - four streets),
   and no title. The ground was .beigbg2 (#ebe3cd); the sibling's .greenbg2
   is on this page too (style2.css:1783-1801) and takes its place, so the
   descent from the paper of "Take a Tour" closes on the green before the
   credentials and the plinth of the footer.

   THE LEGACY RULES THIS BLOCK MEETS on this page: style2.css:1783 .greenbg2
   (height/width 100%, 2px borders - undone by the section rule), :1798-1801
   .greenbg2 .section_title h2 and its #222 slab (beaten on source order at
   equal specificity), :1827 .gmap iframe (the flagged border - answered by
   the one flag marked inline; the 466px height is unflagged and loses to
   height:100%), responsive2.css:120 (225px map below 768), and style2.css:
   1938-1985 .location-detail, whose classes are gone from the markup.
   ========================================================================== */

section.section-gaping.jd-location{
  padding:56px 0 60px;
  height:auto;
  width:auto;
}

.jd-location .section_title{ margin-bottom:30px; }

.jd-location .section_title h2{
  font-family:Helvetica, sans-serif;
  font-size:clamp(23px, 2.7vw, 34px) !important;
  font-weight:700;
  line-height:1.24;
  letter-spacing:.004em;
  color:#f7f3e9;
  margin:0;
  padding:0;
  position:static;
  text-transform:none;
}

.jd-location .section_title h2::after{
  content:"";
  position:static; display:block;
  bottom:auto; left:auto; right:auto;
  width:58px; height:1px;
  margin:18px auto 0;
  background:linear-gradient(90deg,transparent,rgba(203,178,121,.95),transparent);
}

.jd-location > .container > .row{ align-items:stretch; }

.jd-location .jd-l-board{
  background:#f7f3e9;
  border-radius:3px;
  padding:24px 30px 20px;
  height:100%;
}

.jd-location .jd-l-where{
  position:relative;
  margin:0 0 20px;
  padding:0 0 18px 40px;
  font-size:17px;
  line-height:1.55;
  font-weight:700;
  color:#22331f;
  border-bottom:1px solid rgba(79,111,82,.20);
}
.jd-location .jd-l-where i{
  position:absolute; left:0; top:0;
  width:24px;
  font-size:17px; line-height:1.55;
  text-align:center;
  color:#4f6f52;
}

.jd-location .jd-l-table{
  width:100%;
  border-collapse:collapse;
  margin:0;
}

.jd-location .jd-l-table thead th{
  font-family:Helvetica, sans-serif;
  font-size:13px;
  line-height:1.4;
  font-weight:700;
  letter-spacing:.08em;
  color:#3a5240;
  padding:0 0 9px;
  text-align:left;
  white-space:nowrap;
  border-bottom:2px solid rgba(79,111,82,.34);
}
.jd-location .jd-l-table thead th + th{ text-align:right; }

.jd-location .jd-l-table .jd-l-band th{
  font-family:Helvetica, sans-serif;
  font-size:15px;
  line-height:1.35;
  font-weight:700;
  letter-spacing:.03em;
  color:#2b3f2f;
  text-align:left;
  padding:18px 0 7px;
  border-bottom:1px solid rgba(79,111,82,.20);
}
.jd-location .jd-l-table tbody:first-of-type .jd-l-band th{ padding-top:14px; }

.jd-location .jd-l-table tbody th[scope="row"]{
  position:relative;
  font-family:Helvetica, sans-serif;
  font-size:17px;
  line-height:1.45;
  font-weight:400;
  color:#22331f;
  text-align:left;
  vertical-align:baseline;
  padding:11px 0 11px 40px;
  border-bottom:1px solid rgba(79,111,82,.20);
}

.jd-location .jd-l-table tbody td{
  width:1%;
  white-space:nowrap;
  font-family:Helvetica, sans-serif;
  font-size:17px;
  line-height:1.45;
  font-weight:700;
  color:#22331f;
  text-align:right;
  vertical-align:baseline;
  padding:11px 0 11px 20px;
  font-variant-numeric:tabular-nums;
  font-feature-settings:"tnum" 1;
  border-bottom:1px solid rgba(79,111,82,.20);
}

.jd-location .jd-l-table tbody:last-of-type tr:last-child th,
.jd-location .jd-l-table tbody:last-of-type tr:last-child td{ border-bottom:0; }

.jd-location .jd-l-table tbody th[scope="row"] i{
  position:absolute;
  left:0;
  top:11px;
  width:24px;
  font-size:17px;
  line-height:1.45;
  text-align:center;
  color:#4f6f52;
}

.jd-location .jd-l-table caption{
  caption-side:bottom;
  padding:13px 0 0;
  border-top:2px solid rgba(79,111,82,.34);
  font-size:15px;
  line-height:1.5;
  font-weight:400;
  color:#3a5240;
  text-align:left;
}

.jd-location .jd-l-map{
  position:relative;
  height:280px;
  background:#ebe7dc;
  border-radius:3px;
}
.jd-location .jd-l-map iframe{
  position:absolute;
  top:0; left:0;
  display:block;
  width:100%;
  height:100%;
  border:0 !important;   /* style2.css:1827 flags a 1px green border onto every .gmap iframe */
  border-radius:3px;
}

.jd-location .jd-l-map iframe:focus:not(:focus-visible){ outline:0; }
.jd-location .jd-l-map iframe:focus,
.jd-location .jd-l-map iframe:focus-visible,
.jd-location .jd-l-map.is-focus iframe{
  outline:3px solid #f7f3e9;
  outline-offset:3px;
}

.jd-location .wow{
  visibility:visible !important;
  opacity:1 !important;
  animation-name:none !important;
}

@media (min-width:992px){
  .jd-location .jd-l-boardcol{ padding-right:14px; }
  .jd-location .jd-l-mapcol{ padding-left:14px; display:flex; }
  .jd-location .jd-l-map{
    flex:1 1 auto;
    height:auto;
    min-height:420px;
  }
}

@media (max-width:991.98px){
  section.section-gaping.jd-location{ padding:44px 0 46px; }
  .jd-location .section_title{ margin-bottom:28px; }
  .jd-location .jd-l-boardcol{ margin-bottom:24px; }
  .jd-location .jd-l-map{ height:380px; }
}

@media (max-width:767.98px){
  section.section-gaping.jd-location{ padding:34px 0 36px; }
  .jd-location .section_title{ margin-bottom:24px; }
  .jd-location .jd-l-board{ padding:22px 22px 18px; }
  .jd-location .jd-l-map{ height:320px; }
}

@media (max-width:575.98px){
  .jd-location .jd-l-board{ padding:20px 16px 16px; }
  .jd-location .jd-l-where{
    padding-left:0;
    font-size:16px;
  }
  .jd-location .jd-l-where i{ display:none; }
  .jd-location .jd-l-table tbody th[scope="row"]{
    padding-left:0;
    font-size:16px;
  }
  .jd-location .jd-l-table tbody th[scope="row"] i{ display:none; }
  .jd-location .jd-l-table tbody td{
    font-size:16px;
    padding-left:12px;
  }

  .jd-location .jd-l-map{ height:280px; }
}

@media (max-width:991.98px) and (pointer:coarse){
  .jd-location .jd-l-map iframe{ touch-action:pan-y; }
}

@media (prefers-reduced-motion:reduce){
  .jd-location .wow{
    animation:none !important;
    visibility:visible !important;
    opacity:1 !important;
  }
}

@media (prefers-contrast:more){
  .jd-location .section_title h2{ color:#ffffff; }
  .jd-location .section_title h2::after{
    background:none;
    border-top:1px solid #cbb279;
    height:0;
  }
  .jd-location .jd-l-where,
  .jd-location .jd-l-table tbody th[scope="row"],
  .jd-location .jd-l-table tbody td{ color:#1d2c20; }
  .jd-location .jd-l-table .jd-l-band th{ color:#1d2c20; }
  .jd-location .jd-l-table thead th,
  .jd-location .jd-l-table caption{ color:#22331f; }
  .jd-location .jd-l-where i,
  .jd-location .jd-l-table tbody th[scope="row"] i{ color:#22331f; }
  .jd-location .jd-l-where,
  .jd-location .jd-l-table .jd-l-band th,
  .jd-location .jd-l-table tbody th[scope="row"],
  .jd-location .jd-l-table tbody td{ border-bottom-color:rgba(29,44,32,.42); }
  .jd-location .jd-l-table thead th{ border-bottom-color:rgba(29,44,32,.72); }
  .jd-location .jd-l-table caption{ border-top-color:rgba(29,44,32,.72); }
  .jd-location .jd-l-map iframe:focus,
  .jd-location .jd-l-map iframe:focus-visible,
  .jd-location .jd-l-map.is-focus iframe{ outline-color:#ffffff; }
}

@media (forced-colors:active){
  .jd-location .jd-l-board{
    background:Canvas;
    border:1px solid CanvasText;
  }
  .jd-location .section_title h2,
  .jd-location .jd-l-where,
  .jd-location .jd-l-table thead th,
  .jd-location .jd-l-table .jd-l-band th,
  .jd-location .jd-l-table tbody th[scope="row"],
  .jd-location .jd-l-table tbody td,
  .jd-location .jd-l-table caption{ color:CanvasText; }
  .jd-location .jd-l-where i,
  .jd-location .jd-l-table tbody th[scope="row"] i{ color:CanvasText; }
  .jd-location .section_title h2::after{
    background:none;
    border-top:1px solid CanvasText;
    height:0;
  }
  .jd-location .jd-l-where,
  .jd-location .jd-l-table thead th,
  .jd-location .jd-l-table .jd-l-band th,
  .jd-location .jd-l-table tbody th[scope="row"],
  .jd-location .jd-l-table tbody td{ border-bottom-color:CanvasText; }
  .jd-location .jd-l-table caption{ border-top-color:CanvasText; }
  .jd-location .jd-l-map{ background:Canvas; }

  .jd-location .jd-l-map iframe{ border:1px solid CanvasText !important; }
  .jd-location .jd-l-map iframe:focus,
  .jd-location .jd-l-map iframe:focus-visible,
  .jd-location .jd-l-map.is-focus iframe{ outline-color:Highlight; }
}

@media print{
  .jd-location .wow{
    visibility:visible !important;
    opacity:1 !important;
    animation:none !important;
  }
  section.section-gaping.jd-location{
    padding:24px 0 18pt;
    background-color:#ffffff;
    border-top:0;
    border-bottom:1px solid #7f6630;
  }
  .jd-location .section_title{ margin-bottom:18pt; }
  .jd-location .section_title h2{
    color:#000;
    break-after:avoid; page-break-after:avoid;
  }
  .jd-location .section_title h2::after{
    background:none;
    border-top:1px solid #a89f8a;
    height:0;
  }
  .jd-location .jd-l-mapcol{ display:none; }
  .jd-location .jd-l-boardcol{
    flex:0 0 100%;
    max-width:100%;
    width:100%;
    padding:0;
    margin:0;
  }
  .jd-location .jd-l-board{
    background:none;
    padding:0;
    border-radius:0;
    height:auto;
  }
  .jd-location .jd-l-where,
  .jd-location .jd-l-table thead th,
  .jd-location .jd-l-table .jd-l-band th,
  .jd-location .jd-l-table tbody th[scope="row"],
  .jd-location .jd-l-table tbody td,
  .jd-location .jd-l-table caption{ color:#000; }
  .jd-location .jd-l-where i,
  .jd-location .jd-l-table tbody th[scope="row"] i{ color:#000; }
  .jd-location .jd-l-where,
  .jd-location .jd-l-table .jd-l-band th,
  .jd-location .jd-l-table tbody th[scope="row"],
  .jd-location .jd-l-table tbody td{ border-bottom-color:#a89f8a; }
  .jd-location .jd-l-table thead th{ border-bottom-color:#a89f8a; }
  .jd-location .jd-l-table caption{ border-top-color:#a89f8a; }
  .jd-location .jd-l-table .jd-l-band th{
    break-after:avoid; page-break-after:avoid;
  }
  .jd-location .jd-l-table tbody tr{
    break-inside:avoid; page-break-inside:avoid;
  }
}

@media (min-width:992px) and (max-width:1365.98px){
  .jd-location .jd-l-board{ padding:24px 20px 20px; }
  .jd-location .jd-l-where,
  .jd-location .jd-l-table tbody th[scope="row"]{ padding-left:36px; }
  .jd-location .jd-l-table tbody td{ padding-left:16px; }
}

.jd-location .jd-l-table tbody tr:not(.jd-l-band){
  transition:background-color .25s ease;
}
.jd-location .jd-l-table tbody tr:not(.jd-l-band):hover{
  background-color:rgba(79,111,82,.06);
}

.jd-location .jd-l-table tbody th[scope="row"]{
  padding-left:52px;
}
.jd-location .jd-l-table tbody th[scope="row"] i{
  top:4px;
  width:38px;
  height:38px;
  line-height:36px;
  font-size:16px;
  text-align:center;
  color:#2b3f2f;
  background:rgba(79,111,82,.10);
  border:1px solid rgba(79,111,82,.22);
  border-radius:50%;
  box-sizing:border-box;
  transition:background-color .25s ease, color .25s ease, border-color .25s ease;
}

.jd-location .jd-l-table tbody tr:not(.jd-l-band):hover th[scope="row"] i{
  background:#2b3f2f;
  border-color:#2b3f2f;
  color:#f7f3e9;
}

.jd-location .jd-l-pill{
  display:inline-block;
  padding:4px 13px;
  border-radius:40px;
  background:#2b3f2f;
  color:#f7f3e9;
  font-size:13px;
  font-weight:600;
  line-height:1.5;
  white-space:nowrap;
  font-variant-numeric:tabular-nums;
  font-feature-settings:"tnum" 1;
}

.jd-location .jd-l-table tbody td{
  font-weight:400;
  padding-top:9px;
  padding-bottom:9px;
  vertical-align:middle;
}
.jd-location .jd-l-table tbody th[scope="row"]{
  vertical-align:middle;
}

.jd-location .jd-l-sr{
  position:absolute;
  width:1px; height:1px;
  margin:-1px; padding:0;
  overflow:hidden;
  clip:rect(0 0 0 0);
  clip-path:inset(50%);
  white-space:nowrap;
  border:0;
}

@media (max-width:575.98px){
  .jd-location .jd-l-table tbody th[scope="row"]{
    padding-left:40px;
    font-size:16px;
  }
  .jd-location .jd-l-table tbody th[scope="row"] i{
    display:block;
    top:6px;
    width:30px; height:30px;
    line-height:28px;
    font-size:13px;
  }
  .jd-location .jd-l-pill{
    padding:3px 11px;
    font-size:12px;
  }
}

@media (prefers-reduced-motion:reduce){

  .jd-location .jd-l-table tbody tr:not(.jd-l-band),
  .jd-location .jd-l-table tbody th[scope="row"] i{
    transition:none;
  }
}

@media (prefers-contrast:more){

  .jd-location .jd-l-table tbody th[scope="row"] i{
    background:none;
    border-color:#2b3f2f;
    color:#1d2c20;
  }
  .jd-location .jd-l-table tbody tr:not(.jd-l-band):hover{
    background-color:rgba(79,111,82,.14);
  }
  .jd-location .jd-l-pill{
    background:#1d2c20;
    color:#f7f3e9;
  }
}

@media (forced-colors:active){

  .jd-location .jd-l-table tbody th[scope="row"] i{
    background:Canvas;
    border-color:CanvasText;
    color:CanvasText;
  }
  .jd-location .jd-l-table tbody tr:not(.jd-l-band):hover th[scope="row"] i{
    background:Highlight;
    border-color:Highlight;
    color:HighlightText;
  }
  .jd-location .jd-l-pill{
    background:ButtonFace;
    color:ButtonText;
    border:1px solid ButtonText;
  }
  .jd-location .jd-l-table tbody tr:not(.jd-l-band):hover{
    background-color:Canvas;
  }
}

@media print{

  .jd-location .jd-l-table tbody tr:not(.jd-l-band):hover{ background:none; }
  .jd-location .jd-l-table tbody th[scope="row"] i{
    background:none;
    border:0;
    color:#000;
    width:24px; height:auto;
    line-height:inherit;
    top:9pt;
  }
  .jd-location .jd-l-table tbody th[scope="row"]{ padding-left:34px; }
  .jd-location .jd-l-pill{
    background:none;
    color:#000;
    border:1px solid #a89f8a;
    padding:1px 8px;
  }
}


/* ==========================================================================
   "UNCOMPROMISED CARE FOR YOUR GOLDEN YEARS"  (#Certified) - THE PLAQUE
   ==========================================================================
   The credentials room, between the green of the location board and the
   dark stock of the card. It has one thing to say - the building is IGBC
   Silver rated - and it said it in a white box with a photocopier shadow
   (.box_shadow, style2.css:2180-2216: two rotated pseudo-elements at
   #777 drawn as curled-paper corners), the seal at 80px beside 18px text on
   a 60% column. The sibling page had the same plaque and replaced the whole
   room with a wall of thirty-eight partner logos this page does not carry;
   this page keeps the room and gives it the house's own plate.

   THE PLATE: on the paper sheet the pricing and tour rooms use, a white
   plate with the hairline rank and the brass rule on its head, the seal on
   its own smaller plate, and the certificate set as three lines - what it
   is, what it says, what it means. The last line is NEW COPY, written from
   what the IGBC Green Homes rating actually assesses (site, water, energy,
   materials, indoor environmental quality); strike it if the client would
   rather the plaque said only what the certificate says.
   ========================================================================== */
section.section-gaping.jd-cert{
  padding:56px 0 60px;
  background-color:#f7f3e9;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='wfg'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='120' height='120' filter='url(%23wfg)' opacity='.026'/%3E%3C/svg%3E");
  background-repeat:repeat;
  border-bottom:1px solid rgba(203,178,121,.45);
}
.jd-cert .section_title{ margin-bottom:34px; }
.jd-cert .section_title h2{
  font-family:Helvetica, sans-serif;
  font-size:clamp(23px, 2.7vw, 34px) !important;   /* style2.css:505 / responsive2.css:50 are flagged */
  font-weight:700;
  line-height:1.24;
  letter-spacing:.004em;
  color:#2b3f2f;
  max-width:24ch;
  margin:0 auto;
  position:static;
}
.jd-cert .section_title h2::after{
  content:"";
  position:static; display:block;
  bottom:auto; left:auto; right:auto;
  width:58px; height:1px;
  margin:18px auto 0;
  background:linear-gradient(90deg,transparent,rgba(203,178,121,.95),transparent);
}

.jd-cert .jd-c-plaque{
  display:flex;
  align-items:center;
  gap:30px;
  max-width:760px;
  margin:0 auto;
  padding:26px 32px;
  background:#ffffff;
  border:1px solid rgba(79,111,82,.28);
  border-top:2px solid #cbb279;
  border-radius:3px;
  box-shadow:
    0 1px 2px rgba(34,51,31,.06),
    2px 14px 26px -14px rgba(34,51,31,.30);
}
.jd-cert .jd-c-seal{
  display:block;
  flex:0 0 auto;
  box-sizing:border-box;
  width:118px;
  padding:10px 12px;
  background:#f7f3e9;
  border:1px solid rgba(79,111,82,.28);
  border-radius:3px;
}
.jd-cert .jd-c-seal img{
  display:block;
  width:100%;
  height:auto;
}
.jd-cert .jd-c-text{ min-width:0; }
.jd-cert .jd-c-text p{ margin:0; }
.jd-cert .jd-c-kicker{
  font-family:Helvetica, sans-serif;
  font-size:13px;
  font-weight:700;
  line-height:1.4;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:#3a5240;                     /* 7.7:1 on white */
}
.jd-cert .jd-c-rating{
  margin-top:6px !important;
  font-family:Helvetica, sans-serif;
  font-size:clamp(22px, 2.1vw, 27px);
  font-weight:700;
  line-height:1.25;
  letter-spacing:.004em;
  color:#22331f;
}
.jd-cert .jd-c-body{
  margin-top:12px !important;
  padding-top:12px;
  border-top:1px solid rgba(79,111,82,.20);
  max-width:52ch;
  font-family:Helvetica, sans-serif;
  font-size:16.5px;
  font-weight:400;
  line-height:1.62;
  color:#3f4a41;                     /* 8.4:1 on white */
}

@media (max-width:991.98px){
  section.section-gaping.jd-cert{ padding:44px 0 46px; }
  .jd-cert .section_title{ margin-bottom:30px; }
}
@media (max-width:767.98px){
  section.section-gaping.jd-cert{ padding:34px 0 36px; }
  .jd-cert .section_title{ margin-bottom:26px; }
  .jd-cert .jd-c-plaque{ gap:22px; padding:22px 22px; }
  .jd-cert .jd-c-seal{ width:100px; }
  .jd-cert .jd-c-body{ font-size:16px; }
}
@media (max-width:575.98px){
  .jd-cert .jd-c-plaque{
    flex-direction:column;
    align-items:center;
    text-align:center;
    padding:22px 18px 24px;
  }
  .jd-cert .jd-c-seal{ width:96px; }
  .jd-cert .jd-c-body{ margin-left:auto; margin-right:auto; }
}
@media (prefers-contrast:more){
  section.section-gaping.jd-cert{ background-image:none; border-bottom-color:#7f6630; }
  .jd-cert .jd-c-plaque, .jd-cert .jd-c-seal{ border-color:#2b3f2f; }
  .jd-cert .jd-c-kicker{ color:#22331f; }
  .jd-cert .jd-c-body{ color:#1d2c20; border-top-color:rgba(29,44,32,.42); }
}
@media (forced-colors:active){
  section.section-gaping.jd-cert{ background-image:none; background-color:Canvas; border-bottom-color:CanvasText; }
  .jd-cert .section_title h2, .jd-cert .jd-c-kicker, .jd-cert .jd-c-rating, .jd-cert .jd-c-body{ color:CanvasText; }
  .jd-cert .section_title h2::after{ background:none; border-top:1px solid CanvasText; height:0; }
  .jd-cert .jd-c-plaque{ background:Canvas; border:1px solid CanvasText; box-shadow:none; }
  .jd-cert .jd-c-seal{ forced-color-adjust:none; background:#ffffff; border-color:CanvasText; }
  .jd-cert .jd-c-body{ border-top-color:CanvasText; }
}
@media print{
  section.section-gaping.jd-cert{ padding:24px 0 18pt; background-image:none !important; background-color:#fff !important; border-bottom:1px solid #7f6630; }
  .jd-cert .section_title h2{ color:#000; }
  .jd-cert .section_title h2::after{ background:none; border-top:1px solid #a89f8a; height:0; }
  .jd-cert .jd-c-plaque{ box-shadow:none; border-color:#a89f8a; border-top-color:#7f6630; break-inside:avoid; page-break-inside:avoid; }
  .jd-cert .jd-c-seal{ background:none; border-color:#a89f8a; }
  .jd-cert .jd-c-kicker, .jd-cert .jd-c-rating, .jd-cert .jd-c-body{ color:#000; }
}


/* ==========================================================================
   THE FOOTER  (.jd-foot) - "THE CARD"
   ==========================================================================
   Twelve rooms above this one are read; this one is used. It is the only
   place on the page that states the postal address and, apart from the
   header, the only place that states how to reach anybody - so the sibling
   page built it as the thing the content is: Jagriti Dham's printed card on
   the darkest stock on the site. WHO (the letterhead), WHERE (the address),
   HOW (the ways to reach, the primary number largest), WHO ELSE VOUCHES
   (the seals); everything legal on the BACK, below a rule. The full account
   is in the sibling's css/banner.css from line 12327; its rules are carried
   here whole.

   WHAT THIS PAGE HAD: a four-column strip on .lightgreenbg with 15px links
   in #ece3ce, a "Disclaimer" that opened a Bootstrap modal which does not
   exist anywhere in the document, the year written by document.write, two
   logos loaded from the main site with no dimensions, and - only on phones
   - the footer's .social_icon pinned to the bottom of the screen by
   responsive2.css:127 as an "Enquire / WhatsApp" bar. None of those class
   names is reused (contact_detail, lightgreenbg, sectiongap, block,
   address-as-a-class, block_link, social_icon, social-button,
   foot_logo_area, foot_logo_block, copyright), so style2.css:2012-2118 and
   responsive2.css:118-168 go quiet on their own; footer{} at style2.css:342
   (0-0-1) loses to .jd-foot (0-1-0). The pinned bar's job passes to the
   floating rail below, which the sibling has for the same reason.
   ========================================================================== */

.jd-foot{
  padding:56px 0 78px;
  background-color:#1d2c20;
  color:#f7f3e9;
  font-family:Helvetica, sans-serif;
}

.jd-foot .jd-f-head{
  display:flex;
  align-items:center;
  gap:24px;
  margin-bottom:36px;
}
.jd-foot .jd-f-head::after{
  content:"";
  flex:1 1 auto;
  height:1px;
  background:#cbb279;
}

.jd-foot .jd-f-mark{
  display:block;
  flex:0 0 auto;
  box-sizing:border-box;
  width:200px;
  padding:9px 12px;
  background:#ffffff;
  border:1px solid #cbb279;
  border-radius:3px;
}
.jd-foot .jd-f-mark img,
.jd-foot .jd-f-plate img{
  display:block;
  width:100%;
  height:auto;
  border-radius:0;
}

.jd-foot .jd-f-body{ --bs-gutter-x:24px; }

.jd-foot .jd-f-addr{
  margin:0 0 6px;
  font-style:normal;
  font-size:16.5px;
  line-height:1.72;
  color:#f7f3e9;
}
.jd-foot .jd-f-name{
  display:block;
  margin-bottom:10px;
  font-size:21px;
  font-weight:700;
  line-height:1.25;
  letter-spacing:.01em;
  color:#ffffff;
}
.jd-foot .jd-f-landmark{
  display:inline-block;
  margin-top:6px;
  font-size:15px;
  line-height:1.55;
  color:#dad5c6;
}

.jd-foot .jd-f-map{
  display:inline-flex;
  align-items:center;
  gap:10px;
  min-height:48px;
  padding-right:2px;
  font-size:16px;
  font-weight:600;
  color:#cbb279;
  text-decoration:underline;
  text-decoration-thickness:1px;
  text-underline-offset:4px;
  transition:color .2s ease;
}
.jd-foot .jd-f-map i{ font-size:18px; line-height:1; }

.jd-foot .jd-f-label{
  margin:0 0 16px;
  font-size:13px !important;
  font-weight:700;
  line-height:1;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:#cbb279;
}

.jd-foot .jd-f-list,
.jd-foot .jd-f-social,
.jd-foot .jd-f-legal{
  list-style:none;
  margin:0;
  padding:0;
}

.jd-foot .jd-f-list li + li{ margin-top:6px; }
.jd-foot .jd-f-list a{
  display:flex;
  align-items:center;
  gap:14px;
  min-height:56px;
  margin-left:-10px;
  padding:6px 10px;
  border-radius:3px;
  color:#f7f3e9;
  text-decoration:none;
  transition:background-color .2s ease, color .2s ease;
}

.jd-foot .jd-f-ic{
  flex:0 0 26px;
  width:26px;
  text-align:center;
  font-size:17px;
  line-height:1;
  color:#cbb279;
}
.jd-foot .jd-f-txt{
  display:block;
  min-width:0;
}

.jd-foot .jd-f-txt small{
  display:block;
  margin-bottom:2px;
  font-size:12.5px;
  font-weight:400;
  line-height:1.2;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:#a89f8a;
}
.jd-foot .jd-f-txt b{
  display:block;
  font-size:17px;
  font-weight:600;
  line-height:1.25;
  color:#f7f3e9;
  font-variant-numeric:tabular-nums;
  overflow-wrap:anywhere;
}

.jd-foot .jd-f-primary .jd-f-txt b{
  font-size:22px;
  font-weight:700;
  color:#ffffff;
}
.jd-foot .jd-f-primary .jd-f-ic{ font-size:19px; }

.jd-foot .jd-f-act{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:24px;
}
.jd-foot .jd-f-btn{
  display:flex;
  flex:0 1 auto;
  align-items:center;
  justify-content:center;
  gap:10px;
  min-height:52px;
  padding:12px 22px;
  border-radius:3px;
  border:1px solid transparent;
  font-size:16px;
  font-weight:700;
  letter-spacing:.06em;
  text-transform:uppercase;
  color:#1d2c20;
  text-decoration:none;
  transition:filter .2s ease;
}
.jd-foot .jd-f-btn i{ font-size:18px; line-height:1; }
.jd-foot .jd-f-btn-enq{
  background-color:#cbb279;
  border-color:#cbb279;
}
.jd-foot .jd-f-btn-wa{
  display:none;
  background-color:#25d366;
  border-color:#25d366;
}

.jd-foot .jd-f-credrow{
  display:flex;
  align-items:center;
  gap:14px;
}
.jd-foot .jd-f-credmark + .jd-f-credrow{ margin-top:22px; }
.jd-foot .jd-f-memberlabel{
  margin:0 0 10px;
  font-size:13px;
  font-weight:700;
  line-height:1;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:#cbb279;
}

.jd-foot .jd-f-plate{
  display:block;
  box-sizing:border-box;
  background:#ffffff;
  border:1px solid #cbb279;
  border-radius:3px;
}
.jd-foot .jd-f-plate-asli{
  width:100%;
  max-width:200px;
  padding:9px 12px;
}
.jd-foot .jd-f-plate-igbc{
  flex:0 0 82px;
  width:82px;
  padding:9px;
}
.jd-foot .jd-f-credline{
  margin:0;
  font-size:14px;
  line-height:1.4;
  color:#dad5c6;
}

.jd-foot .jd-f-rail{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:space-between;
  gap:20px 32px;
  margin-top:40px;
}

.jd-foot .jd-f-social{
  display:flex;
  flex-wrap:wrap;
  gap:14px;
}
.jd-foot .jd-f-soc{
  display:flex;
  align-items:center;
  justify-content:center;
  box-sizing:border-box;
  width:46px;
  height:46px;
  border:1px solid #cbb279;
  border-radius:50%;
  font-size:19px;
  line-height:1;
  color:#ffffff;
  text-decoration:none;
  transition:transform .2s ease, box-shadow .2s ease;
}
.jd-foot .jd-f-fb{ background-color:#4479e7; }
.jd-foot .jd-f-ig{ background-color:#ec2f83; }
.jd-foot .jd-f-yt{ background-color:#d83231; }
.jd-foot .jd-f-in{ background-color:#0a66c2; }

.jd-foot .jd-f-legal{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:0 22px;
}
.jd-foot .jd-f-legal a{
  display:inline-flex;
  align-items:center;
  min-height:44px;
  padding:0 2px;
  font-size:15px;
  color:#f7f3e9;
  text-decoration:underline;
  text-decoration-thickness:1px;
  text-underline-offset:4px;
  transition:color .2s ease;
}
.jd-foot .jd-f-legal li + li{ position:relative; }
.jd-foot .jd-f-legal li + li::before{
  content:"";
  position:absolute;
  left:-12.5px;
  top:50%;
  width:3px; height:3px;
  margin-top:-1.5px;
  border-radius:50%;
  background:#cbb279;
}

.jd-foot .jd-f-back{
  margin-top:36px;
  padding-top:26px;
  border-top:1px solid #a89f8a;
}

.jd-foot .jd-f-fineprint{
  max-width:96ch;
  margin:0 0 18px;
  font-style:normal;
  font-size:13.5px;
  line-height:1.62;
  color:#d5d3cb;
  border-left:3px solid transparent;
  padding-left:0;
}
.jd-foot .jd-f-fineprint strong{
  color:#f7f3e9;
  font-weight:700;
}

.jd-foot .jd-f-fineprint:target{
  margin-left:-16px;
  padding-left:16px;
  border-left-color:#cbb279;
  background:#22331f;
}

.jd-foot .jd-f-copy{
  margin:0;
  font-size:13.5px;
  line-height:1.5;
  color:#d5d3cb;
}

.jd-foot .jd-sr{
  position:absolute !important;
  width:1px; height:1px;
  margin:-1px; padding:0;
  overflow:hidden;
  clip:rect(0 0 0 0);
  clip-path:inset(50%);
  white-space:nowrap;
  border:0;
}

@media (hover:hover){
  .jd-foot .jd-f-list a:hover{ background-color:#2b3f2f; }
  .jd-foot .jd-f-list a:hover .jd-f-txt b{ color:#ffffff; }
  .jd-foot .jd-f-list a:hover .jd-f-txt small{ color:#dad5c6; }
  .jd-foot .jd-f-list a:hover .jd-f-ic{ color:#e3cf9c; }
  .jd-foot .jd-f-map:hover{ color:#e5e1d8; }
  .jd-foot .jd-f-legal a:hover{
    color:#ffffff;
    text-decoration-thickness:2px;
  }
  .jd-foot .jd-f-soc:hover{
    transform:translateY(-2px);
    box-shadow:0 0 0 2px #cbb279;
  }
  .jd-foot .jd-f-btn:hover{ filter:brightness(1.06); }
}

.jd-foot .jd-f-list a:active{ background-color:#22331f; }

.jd-foot :focus{
  outline:3px solid #f7f3e9;
  outline-offset:3px;
}
.jd-foot :focus:not(:focus-visible){ outline:0; }
.jd-foot :focus-visible{
  outline:3px solid #f7f3e9;
  outline-offset:3px;
}
.jd-foot .jd-f-fineprint:focus,
.jd-foot .jd-f-fineprint:focus-visible{ outline:0; }

.jd-foot .wow{
  visibility:visible !important;
  opacity:1 !important;
  animation:none !important;
}

.jd-foot .fa-beat,
.jd-foot .fa-beat-fade,
.jd-foot .fa-bounce,
.jd-foot .fa-shake,
.jd-foot .fa-fade,
.jd-foot .fa-flip,
.jd-foot .fa-spin{ animation:none; }

@media (max-width:991.98px){
  .jd-foot{ padding:44px 0 78px; }
  .jd-foot .jd-f-head{ margin-bottom:30px; }
  .jd-foot .jd-f-body{ --bs-gutter-x:24px; --bs-gutter-y:32px; }
  .jd-foot .jd-f-rail{ margin-top:34px; }
}

@media (min-width:768px) and (max-width:991.98px){
  .jd-foot .jd-f-cred{
    display:flex;
    align-items:flex-end;
    gap:40px;
  }
  .jd-foot .jd-f-credmark + .jd-f-credrow{ margin-top:0; }
}

@media (max-width:767.98px){
  .jd-foot{ padding:34px 0 78px; }
  .jd-foot .jd-f-head{ gap:18px; margin-bottom:26px; }
  .jd-foot .jd-f-name{ font-size:20px; }
  .jd-foot .jd-f-addr{ font-size:16px; }
  .jd-foot .jd-f-body{ --bs-gutter-y:30px; }
  .jd-foot .jd-f-rail{ justify-content:flex-start; gap:24px 32px; }
}

@media (max-width:575.98px){
  .jd-foot{ padding:34px 0 34px; }
  .jd-foot .jd-f-mark{ width:180px; }
  .jd-foot .jd-f-act{ flex-direction:column; }
  .jd-foot .jd-f-btn{ width:100%; font-size:15px; }
  .jd-foot .jd-f-btn-wa{ display:flex; }
  .jd-foot .jd-f-rail{ margin-top:30px; gap:22px 24px; }
  .jd-foot .jd-f-legal{ flex-direction:column; align-items:flex-start; gap:0; }
  .jd-foot .jd-f-legal li + li::before{ display:none; }
  .jd-foot .jd-f-back{ margin-top:30px; }
}

@media (prefers-reduced-motion:reduce){
  .jd-foot .jd-f-list a,
  .jd-foot .jd-f-map,
  .jd-foot .jd-f-legal a,
  .jd-foot .jd-f-soc,
  .jd-foot .jd-f-btn,
  .jd-foot .jd-f-fineprint{ transition:none; }
  .jd-foot .jd-f-soc:hover{ transform:none; }
  .jd-foot .fa-beat,
  .jd-foot .fa-beat-fade,
  .jd-foot .fa-bounce,
  .jd-foot .fa-shake,
  .jd-foot .fa-fade,
  .jd-foot .fa-flip,
  .jd-foot .fa-spin{ animation:none; }
}

@media (prefers-contrast:more){
  .jd-foot .jd-f-addr,
  .jd-foot .jd-f-landmark,
  .jd-foot .jd-f-txt small,
  .jd-foot .jd-f-txt b,
  .jd-foot .jd-f-credline,
  .jd-foot .jd-f-fineprint,
  .jd-foot .jd-f-fineprint strong,
  .jd-foot .jd-f-copy,
  .jd-foot .jd-f-legal a,
  .jd-foot .jd-f-map,
  .jd-foot .jd-f-label,
  .jd-foot .jd-f-memberlabel{ color:#ffffff; }
  .jd-foot .jd-f-ic{ color:#f7f3e9; }
  .jd-foot .jd-f-mark,
  .jd-foot .jd-f-plate,
  .jd-foot .jd-f-soc,
  .jd-foot .jd-f-btn{ border-width:2px; }
  .jd-foot .jd-f-back{ border-top-color:#cbb279; }
  .jd-foot .jd-f-legal a{ text-decoration-thickness:2px; }
  .jd-foot .jd-f-list a{
    text-decoration:underline;
    text-underline-offset:4px;
  }
  .jd-foot :focus,
  .jd-foot :focus-visible{ outline-width:4px; }
}

@media (forced-colors:active){
  .jd-foot{ background-color:Canvas; color:CanvasText; }
  .jd-foot .jd-f-head::after{ background:CanvasText; }
  .jd-foot .jd-f-back{ border-top-color:CanvasText; }
  .jd-foot .jd-f-name,
  .jd-foot .jd-f-addr,
  .jd-foot .jd-f-landmark,
  .jd-foot .jd-f-label,
  .jd-foot .jd-f-memberlabel,
  .jd-foot .jd-f-credline,
  .jd-foot .jd-f-fineprint,
  .jd-foot .jd-f-fineprint strong,
  .jd-foot .jd-f-copy{ color:CanvasText; }
  .jd-foot .jd-f-map,
  .jd-foot .jd-f-map i,
  .jd-foot .jd-f-legal a,
  .jd-foot .jd-f-list a,
  .jd-foot .jd-f-list a .jd-f-ic,
  .jd-foot .jd-f-list a .jd-f-txt small,
  .jd-foot .jd-f-list a .jd-f-txt b{ color:LinkText; }
  .jd-foot .jd-f-legal li + li::before{ background:CanvasText; }
  .jd-foot .jd-f-soc,
  .jd-foot .jd-f-btn{
    background:ButtonFace;
    color:ButtonText;
    border-color:ButtonText;
    forced-color-adjust:none;
  }
  .jd-foot .jd-f-mark,
  .jd-foot .jd-f-plate{
    forced-color-adjust:none;
    background:#ffffff;
    border-color:#cbb279;
  }
  .jd-foot .jd-f-list a:hover,
  .jd-foot .jd-f-list a:active{ background-color:Highlight; color:HighlightText; }
  .jd-foot .jd-f-fineprint:target{
    background:Highlight;
    color:HighlightText;
    border-left-color:Highlight;
  }
  .jd-foot :focus,
  .jd-foot :focus-visible{ outline-color:Highlight; }
}

@media print{
  .jd-foot{
    padding:0;
    background-color:#ffffff;
    color:#000000;
    break-inside:avoid; page-break-inside:avoid;
  }

  .jd-foot .jd-f-head{ gap:16pt; margin-bottom:14pt; }
  .jd-foot .jd-f-head::after{ background:#000000; }
  .jd-foot .jd-f-mark{ width:150pt; padding:4pt 6pt; border-color:#a89f8a; }
  .jd-foot .jd-f-plate{ border-color:#a89f8a; }
  .jd-foot .jd-f-plate-asli{ max-width:150pt; padding:4pt 6pt; }
  .jd-foot .jd-f-plate-igbc{ flex-basis:60pt; width:60pt; padding:5pt; }

  .jd-foot .jd-f-body{ --bs-gutter-x:18pt; --bs-gutter-y:12pt; }
  .jd-foot .jd-f-panel{ break-inside:avoid; page-break-inside:avoid; }

  .jd-foot .jd-f-name{ font-size:15pt; color:#000000; }
  .jd-foot .jd-f-addr{ font-size:11pt; line-height:1.5; color:#000000; }
  .jd-foot .jd-f-landmark{ font-size:10pt; color:#000000; }
  .jd-foot .jd-f-label,
  .jd-foot .jd-f-memberlabel{
    font-size:9pt !important;
    color:#2b3f2f;
    margin-bottom:8pt;
  }

  .jd-foot .jd-f-list li + li{ margin-top:5pt; }
  .jd-foot .jd-f-list a{
    min-height:0;
    margin-left:0;
    padding:0;
    gap:8pt;
    color:#000000;
  }
  .jd-foot .jd-f-txt small{ font-size:8pt; color:#2b3f2f; }
  .jd-foot .jd-f-txt b{ font-size:11pt; color:#000000; }
  .jd-foot .jd-f-primary .jd-f-txt b{
    font-size:15pt;
    color:#000000;
  }

  .jd-foot .jd-f-map{
    display:inline;
    min-height:0;
    padding:0;
    font-size:10pt;
    color:#000000;
    text-decoration:none;
  }
  .jd-foot .jd-f-map::after{
    content:" (" attr(href) ")";
    font-size:8.5pt;
    font-weight:400;
    overflow-wrap:anywhere;
  }

  .jd-foot .jd-f-credline{ font-size:9.5pt; color:#000000; }

  .jd-foot .jd-f-social,
  .jd-foot .jd-f-act,
  .jd-foot .jd-f-jump,
  .jd-foot .fa,
  .jd-foot .fas,
  .jd-foot .far,
  .jd-foot .fab,
  .jd-foot .fa-solid,
  .jd-foot .fa-regular,
  .jd-foot .fa-brands{ display:none; }

  .jd-foot .jd-f-rail{ margin-top:12pt; justify-content:flex-start; }
  .jd-foot .jd-f-legal{ gap:0 14pt; }
  .jd-foot .jd-f-legal a{
    min-height:0;
    font-size:9.5pt;
    color:#000000;
    text-decoration:none;
  }
  .jd-foot .jd-f-legal li + li::before{ left:-8.5pt; background:#000000; }

  .jd-foot .jd-f-back{
    margin-top:12pt;
    padding-top:8pt;
    border-top:1px solid #a89f8a;
    break-inside:avoid; page-break-inside:avoid;
  }
  .jd-foot .jd-f-fineprint,
  .jd-foot .jd-f-fineprint:target{
    max-width:none;
    margin:0 0 8pt;
    padding-left:0;
    border-left:0;
    background:none;
    color:#000000;
    font-size:8.5pt;
    line-height:1.5;
  }
  .jd-foot .jd-f-fineprint strong{ color:#000000; }
  .jd-foot .jd-f-copy{ font-size:9pt; color:#000000; }

  .jd-foot :focus,
  .jd-foot :focus-visible{ outline:0; }
}


/* ==========================================================================
   THE FLOATING CONTACT RAIL - call and WhatsApp
   ==========================================================================
   The sibling's rail, carried whole (css/banner.css from line 14583 for the
   account of its two plate colours, measured against every ground it floats
   over, and of why bottom-right is the only free corner). On this page it
   also REPLACES the legacy footer's phone-only pinned bar. The one existing
   rule it touches is #backto-top (style2.css:1266: bottom:30px right:5px),
   lifted above the rail from 576px; below that, back-to-top is d-sm-block
   and never shows, so nothing overlaps.
   ========================================================================== */

.jd-float{
  --jd-fl-size:56px;
  --jd-fl-gap:12px;
  --jd-fl-wa:#1b9c4b;
  --jd-fl-ink:#1d2c20;

  position:fixed;
  right:18px;
  bottom:18px;
  bottom:calc(18px + env(safe-area-inset-bottom, 0px));

  z-index:1200;
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  gap:var(--jd-fl-gap);
}

.jd-float .jd-sr{
  position:absolute !important;
  width:1px; height:1px;
  margin:-1px; padding:0;
  overflow:hidden;
  clip:rect(0 0 0 0);
  clip-path:inset(50%);
  white-space:nowrap;
  border:0;
}

.jd-float a.jd-float-btn{
  display:flex;
  align-items:center;
  justify-content:center;
  min-width:var(--jd-fl-size);
  height:var(--jd-fl-size);
  padding:0 15px;
  border-radius:calc(var(--jd-fl-size) / 2);
  border:0;
  text-decoration:none;
  font-weight:700;
  font-size:15.5px;
  letter-spacing:.01em;
  line-height:1;
  white-space:nowrap;
  cursor:pointer;
  box-shadow:
    0 0 0 2px #fff,
    0 0 0 4px rgba(29,44,32,.75),
    0 10px 22px -8px rgba(24,36,26,.55),
    0 3px 8px -2px rgba(24,36,26,.32);
  transition:transform .2s ease, box-shadow .2s ease, filter .2s ease;
}

.jd-float a.jd-float-call{
  background:linear-gradient(180deg,
    #eaddb2 0%, #d9c390 34%, #c9ad72 52%, #d2b87f 66%, #b99a56 100%);
  color:var(--jd-fl-ink);
}
.jd-float a.jd-float-wa{
  background:var(--jd-fl-wa);
  color:#fff;
}

.jd-float a.jd-float-btn i{
  font-size:23px;
  line-height:1;
  flex:0 0 auto;
}
.jd-float a.jd-float-wa i{
  font-size:27px;
}

.jd-float .jd-float-lbl{
  max-width:0;
  opacity:0;
  overflow:hidden;
  margin-left:0;
  transition:max-width .28s ease, opacity .18s ease, margin-left .28s ease;
}

@media (hover:hover) and (pointer:fine){
  .jd-float a.jd-float-btn:hover .jd-float-lbl{
    max-width:180px; opacity:1; margin-left:11px;
  }
  .jd-float a.jd-float-btn:hover{
    transform:translateY(-2px);
    filter:brightness(1.06);
    box-shadow:
      0 0 0 2px #fff,
      0 0 0 4px rgba(29,44,32,.85),
      0 16px 28px -10px rgba(24,36,26,.6),
      0 4px 10px -2px rgba(24,36,26,.38);
  }
}

.jd-float a.jd-float-btn:active{ transform:translateY(1px); }

.jd-float a.jd-float-btn:focus{
  outline:3px solid #fff;
  outline-offset:5px;
  box-shadow:
    0 0 0 2px #fff,
    0 0 0 4px rgba(29,44,32,.9),
    0 0 0 9px rgba(29,44,32,.92),
    0 10px 22px -8px rgba(24,36,26,.55);
}
.jd-float a.jd-float-btn:focus:not(:focus-visible){
  outline:0;
  box-shadow:
    0 0 0 2px #fff,
    0 0 0 4px rgba(29,44,32,.75),
    0 10px 22px -8px rgba(24,36,26,.55),
    0 3px 8px -2px rgba(24,36,26,.32);
}
.jd-float a.jd-float-btn:focus-visible{
  outline:3px solid #fff;
  outline-offset:5px;
  box-shadow:
    0 0 0 2px #fff,
    0 0 0 4px rgba(29,44,32,.9),
    0 0 0 9px rgba(29,44,32,.92),
    0 10px 22px -8px rgba(24,36,26,.55);
}
.jd-float a.jd-float-btn:focus-visible .jd-float-lbl{
  max-width:180px; opacity:1; margin-left:11px;
}

@media (min-width:576px){
  #backto-top{
    bottom:154px;
    right:26px;
  }
}

@media (max-height:450px){
  .jd-float{ --jd-fl-size:48px; --jd-fl-gap:10px; }
  .jd-float a.jd-float-btn i{ font-size:20px; }
  .jd-float a.jd-float-wa i{ font-size:23px; }
}

@media (prefers-reduced-motion:reduce){
  .jd-float a.jd-float-btn,
  .jd-float .jd-float-lbl{ transition-duration:.01ms !important; }
  .jd-float a.jd-float-btn:hover,
  .jd-float a.jd-float-btn:active{ transform:none !important; }
}

@media (prefers-contrast:more){
  .jd-float a.jd-float-btn{
    box-shadow:0 0 0 2px #fff, 0 0 0 5px #1d2c20;
  }
  .jd-float a.jd-float-wa{ background:#0f7a39; }
  .jd-float a.jd-float-call{ background:#e8dcb6; color:#1d2c20; }
}

@media (forced-colors:active){
  .jd-float a.jd-float-btn{
    background:ButtonFace;
    color:ButtonText;
    border:1px solid ButtonText;
    box-shadow:none;
    forced-color-adjust:none;
  }
  .jd-float a.jd-float-btn i{ color:ButtonText; }
  .jd-float a.jd-float-btn:focus-visible{ outline:3px solid Highlight; }
}

@media print{
  .jd-float{ display:none !important; }
}
