/* ==========================================================================
   JAGRITI DHAM  —  STAYCATION   ·   page 1511 only
   /best-staycation-in-kolkata/   ·   page-templates/newshortstay.php
   "THE HOUSE WEEKEND"            css/stay-lux.css            2026-09-12
   Enqueued for is_page(1511) with deps array('responsive','banner-lux',
   'contact-lux'), so it prints after all three. FINAL — the panel's
   assembled sheet. Ships as css/stay-lux.css; the template is untouched.
   ==========================================================================

   WHAT THIS IS
   ------------
   The staycation page body — everything from the (already rebuilt) strip
   down to the stories — as ONE system in the house language of longstay-lux,
   dayat-lux, jiva-lux and contact-lux. Assembled from the four-design panel
   and its two syntheses by the four judges' verdicts:

   BONES — THE HOUSE BOOK's constructions (the only sheet that survived every
   probe and every cascade fight on the LIVE stylesheet order, where
   jquery-ui.css prints in the <body> AFTER this file):
     · the datepicker root `.page-id-1511 div.ui-datepicker` (0,2,1) over
       jquery-ui's `.ui-widget.ui-widget-content` (0,2,0); `z-index
       !important` against the inline z-index; `opacity:1` on the disabled
       CELL, where jquery-ui puts its .35 — L10;
     · the rate block stays a real <table> — row / cell / columnheader roles
       in every engine, old Safari included — L7;
     · the md trap fixed as a pair at one specificity — L3;
     · sticky default-off, on at 992, tracking the condensed header — L9;
     · `overflow:clip` on the Owl stage so Tab cannot scroll it — L8;
     · the stories row as an auto-fit grid, so the empty third column cannot
       occur at ANY post count — L13;
     · every `!important` answers a flag or an inline style, in kind — L14.

   THE READING — THE WEEKEND BROCHURE's prose column, the only one of the
   four DESIGNED rather than re-coloured: the Fraunces lede under the 46px
   brass-ink mark; the ten points as a two-column ruled feature list with
   brass-ink checks; the terms as numbered fine print (01–09 by CSS counter)
   with the two lead facts — check-in / check-out and the four meals —
   lifted to Fraunces (C1); the eight services as a ruled register with a
   deep-green chip and a cream tick in every cell; the numbered captions on
   the prints (one numbering motif: films 01–05, terms 01–09, prints 01–04);
   the whole empty .section-title collapsed under :has(); the print columns
   staggered by CSS animation-delay. The Brochure's hero figures are kept in
   spirit on the real table: the template's own "INR 5000" / "INR 5500" in
   Fraunces at 26 → 30 → 36 → 40 → 42 → 46px, the labels in Fraunces too.

   THE MATERIAL RUN AND THE ORDER — THE GREEN WEEKEND's: PAPER (strip, the
   reading with the flat rate plate and the lit recess) → BRASS (contact-lux's
   booking panel, extended, never fought) → PAPER (the map under a wordless
   brass pin) → GREEN (the gallery as the page's ONE dark room: two prints
   across on flat cream mats with Fraunces italic captions) → PAPER (two
   postcards) → footer-lux's green. The page ends on paper, so the live
   footer's band is never doubled. Below 992 the film screen comes FIRST
   after the strip and the rate plate is FIRST in the reading at every width
   (flex `order`; DOM and tab order untouched — L5): a family sees the films
   and the per-night figures before a word of prose. From 992 the columns
   split 7/5 so the screen takes a fifth more width than the template's 8/4.

   FROM THE RESERVATION — one construction: Bootstrap's flagged
   `.align-items-center` on the booking row answered in kind. Its CSS-written
   English (signpost, labels, "How to reach us") and its dates-first flex
   reorder (DOM/tab order mismatch, WCAG 2.4.3) were refused by every judge
   and are not here. The Brochure's display:grid table (a11y-tree demotion
   in pre-16 Safari) and its full-bleed green back cover (doubled the
   footer) are not here either; nor House's folio numerals over untitled
   sections, nor its band-in-band.

   THIS FILE NEEDS NO MARKUP CHANGE AND WRITES NO ENGLISH. Every numeral is
   a CSS counter, every mark is an SVG data URI. "INR 5000" and "INR 5500"
   are the template's own text nodes; "Rates Per Night" is the template's
   own <th> (the figures' column head); "Taxes as applicable*" is the
   template's own <p><i>, kept inside the plate. Nothing is restated,
   computed, prefixed or discounted.

   ==========================================================================
   LOAD-BEARING — DO NOT "TIDY" ANY OF THESE. Each fails SILENTLY.
   ==========================================================================
   L1  EVERY SELECTOR STARTS `.page-id-1511`. `.new_stay`, `.tick`,
       `.sectiongap`, `.section-title`, `.sticky_div`,
       `.longstay_video_carousel`, `.card`, `.post-box` and `#contact` are
       GENERIC (1504 shares several; #contact is emitted by eighteen
       templates). The enqueue guards once; the body class guards every rule
       a second time. Nothing here may move into style.css or responsive.css.

   L2  `.page-id-1511 .new_stay .longstay_video_carousel .owl-nav.disabled
       { display:none !important }` — THE FLAG IS NOT OPTIONAL. style.css:680
       says `.owl-carousel .owl-nav.disabled{ display:inherit !important }`
       at (0,3,0) and owl.carousel.js 2.1.6 builds prev/next even with
       `nav:false`. Only a heavier flagged rule beats a flagged rule: this
       one is (0,5,0). 1511's `.new_stay` has no id, so the body class
       supplies the weight longstay's `#pricing` supplied there.

   L3  THE md TRAP IS A PAIR. `.page-id-1511 .new_stay .row > [class*="col-"]
       { width:100% }` at (0,4,0), with the 7/5 split restored at the SAME
       (0,4,0), later in source, inside `@media (min-width:992px)`. The
       template is `col-lg-8 col-md-8` + `col-lg-4 col-md-4`, so at 768–991
       the video column is 216px beside a 456px column. Delete either half
       and it comes back. (#contact is already stacked below 992 by
       contact-lux.css:373 at (1,2,0); nothing here repeats that.)

   L4  `@media (prefers-reduced-motion:reduce)` sets `visibility:visible
       !important; animation:none !important` on `.page-id-1511 .wow`. WOW.js
       writes `visibility:hidden` INLINE and animate.css holds the keyframe
       with `animation-fill-mode:both`; without BOTH flags the strip, the
       video column, the form row, the four prints and the stories head are
       BLANK for anyone who asked for less motion.

   L5  `.new_stay_left{ display:flex; flex-direction:column }` and
       `.new_stay_left_table{ order:-1 }`; `.new_stay .row > .col-lg-4
       { order:-1 }` below 992. VISUAL order only: DOM, tab and reading order
       are untouched (the plate has no focusable element; the video column's
       iframes and dots keep their place in the tab sequence relative to the
       tel/mailto links, which come later in the DOM either way). In a flex
       column MARGINS DO NOT COLLAPSE: every vertical gap in §3–§7 is a
       stated sum of a bottom margin and a top margin (audit in §3).

   L6  `a.post-box:empty{ display:none }`. Each visible print is followed by
       ~11 EMPTY `a.post-box` anchors (the fancybox group) and style.css:2347
       gives every one `padding:15px` = 30px of inline width: that is the
       38px horizontal overflow measured at 1280 on the live page. fancybox
       groups by the `data-fancybox` attribute, so hidden anchors still open
       in the lightbox (verified: 9 slides in the first group). It must
       LEAVE THE FLOW — never `visibility:hidden`.

   L7  THE RATE TABLE IS A TABLE. No display:grid, no display:contents: the
       theme's <table> keeps its roles in every accessibility tree. The
       figures are big because the <td>s are big, not because the cells were
       re-placed. `white-space:nowrap` is on the figure cell ONLY (without it
       the auto table layout wraps "INR 5500" to two lines at 320 before it
       wraps the label); the label cell carries `overflow-wrap:anywhere` so
       under Android font inflation the label breaks before the table can
       overflow the plate. The figure is 26px below 390 because a 245px well
       (320) holds "INR 5500" at 26px beside a wrapped label with room to
       spare at 1.3x; from 390 it is 30px, and it climbs by breakpoint.

   L8  NO `overflow:hidden` ON `.new_stay` (an overflow:hidden ancestor
       becomes the scrollport for `position:sticky` and the screen stops
       sticking). `.owl-stage-outer` gets `overflow:clip` with a `hidden`
       fallback: a scroll container scrolls when a loop clone's iframe takes
       focus and desynchronises Owl; clip cannot scroll. `.shortstay_blog`
       gets `overflow:clip` to contain animate.css's slideInUp (translate
       100%) — it has nothing sticky inside it.

   L9  STICKY: `.new_stay_right.sticky_div` is `position:static; top:auto`
       by default (style.css:690 says sticky top:100px UNDER the 146px
       header), `position:sticky; top:calc(var(--jd-h-total,146px) + 18px)`
       from 992, and `top:calc(56px + var(--jd-h-nav,46px) + 18px)` under
       `body.page-id-1511:has(.jd-header.jd-scrolled)` inside
       `@supports selector(:has(*))` — dayat's and longstay's pattern; the
       tokens are header-lux's. `transform-origin:50% 0` on the .wow column
       so animate.css's zoomIn scales from where the screen sits, not from
       the centre of a column stretched to the row's height. The screen
       sticks because the .col-lg-4 is stretched to the row's height by
       Bootstrap's own `.row{align-items:stretch}` — never centre that row.

   L10 THE DATEPICKER, ON THE LIVE ORDER. newshortstay.php prints
       <link href="…/jquery-ui.css"> in the BODY, after this sheet, so an
       equal-specificity tie goes to jQuery UI. Every rule in §10 is at
       least one step heavier than its base-theme counterpart: the root is
       `div.ui-datepicker` (0,2,1) against `.ui-widget.ui-widget-content`
       (0,2,0); `z-index:10000 !important` answers the inline z-index jQuery
       UI writes and clears the 9999 fixed header when the popup flips
       upward; `td.ui-state-disabled, td.ui-datepicker-unselectable
       { opacity:1 }` is on the CELL, where `.ui-widget-content
       .ui-state-disabled{ opacity:.35 }` lives — the span alone is not
       enough. The popup is 310px (7 × 44 + the frame) with
       `max-width:calc(100% - 8px)` and a fixed-layout 100% table, so a
       viewport narrower than 318px shrinks the seven cells evenly instead
       of spilling. The sprite arrows are replaced by data-URI chevrons with
       the sprite's background-position reset, so nothing is fetched from
       code.jquery.com/images. The month/year <select>s are 16px so iOS does
       not zoom the page when one is focused.

   L11 `#6b5426` IS THE ONLY BRASS THAT TOUCHES CREAM WITH MEANING. `#cbb279`
       is 1.93:1 on paper and 1.99:1 on the plate: it appears only on the
       green (mat edges, hairlines, the current dot) and on the recess.
       `#a58c55` is a rule on the FLAT plate only (3.13:1) and never on
       grained paper (2.77:1). Paper has grain; the plate does not
       (`background-image:none` on every plate).

   L12 THE GALLERY SECTION HAS NO CLASS OF ITS OWN and is reached as
       `.shortstay_gmap + .sectiongap`. If the map section is ever removed
       from the template, the room loses its ground and its grid — re-point
       the selector; do not add an id to the template for the sake of CSS.
       The empty <h2> (ACF `heading` unset) is `display:none` and the whole
       `.section-title` is collapsed under `:has(> h2:empty)` in its OWN
       @supports block (a comma list would invalidate on a pre-:has()
       engine); the moment the field is filled the heading arrives in cream
       Fraunces, centred, with its 36px under it.

   L13 THE STORIES ROW IS `display:grid; grid-template-columns:repeat(
       auto-fit, minmax(min(300px,100%), 1fr))` with `--bs-gutter-x/y`
       zeroed ON THAT ROW ONLY (never on a `.container`), capped at 1000px
       (920 from 1200) and centred. Two posts fill two tracks from 768; a
       third fills three; the `min()` stops the 300px minimum overflowing a
       320px phone. The column classes are neutralised (width:auto, padding
       0, flex none) because a 33.33% width inside a grid track would shrink
       the card. The View More wrapper is reached as
       `.text-center:not(.section-title)` — the heading div also carries
       `.text-center` (House's measured 30px trap).

   L14 EVERY `!important` IN THIS FILE, AND WHAT IT ANSWERS:
       · `.owl-nav` display — style.css:680's flag (L2)
       · `.shortstay_gmap.mb-3` margin — Bootstrap's `.mb-3` flag
       · `.section-gaping.gallery.mb-4` margin — Bootstrap's `.mb-4` flag
       · `.shortstay_blog [class*="col-"].mb-2` margin — Bootstrap's `.mb-2`
       · `#contact .row.align-items-center` align-items — Bootstrap's flag
       · `::placeholder` colour in #contact — style.css:331's flag
       · `div.ui-datepicker` z-index — jQuery UI's INLINE style
       · Read More / View More / submit: padding, border, colour — the three
         flags style.css:422–437 puts on `.btn-primary` and :444's hover
         colour, and `.btn.mt-2` margin — Bootstrap's `.mt-2` flag
       · prefers-reduced-motion: `.wow` visibility/animation (L4) and the
         transition/animation kill-switch — the inline WOW styles
       · forced-colors / print: the same three .btn-primary flags, WOW's
         inline styles and the print grounds (the plate's own #fff included)
       Nothing else is flagged.

   ==========================================================================
   CONTENT-COUPLED RULES — declared, so an editor knows
   ==========================================================================
   C1  In "Terms and Conditions:", `li:nth-child(-n+2)` are set as the two
       lead facts in Fraunces at full width. Today those are "Check-In at
       11 AM & Check-Out at 12 PM" and "The stay includes four nutritious
       complimentary meals…" — the two things a family reads before booking.
       Reordering the terms in newshortstay.php only changes WHICH two terms
       lead; nothing breaks, nothing is hidden.
   C2  `li:last-child` of the same list spans both columns from 768 (the
       contact line with the tel/mailto links).
   C3  `p:has(+ .new_stay_left_table)` — the paragraph directly before the
       rate block ("Come for a staycation near Kolkata…") — is the closing
       line in Fraunces italic. Without :has() it is a normal paragraph.

   ==========================================================================
   CONTRAST — sRGB relative luminance (contrast-check.js), at the WORST
   composited pixel where the ground carries grain or sheen
   ==========================================================================
   A. PAPER  #faf7ef + grain .04, worst pixel #f0ede5        flat / worst
        #2b3f2f  lede, heads, closing line, lead facts,
                 story titles, stories h2 .................. 10.58 / 9.68  PASS 4.5
        #3a4238  paragraphs, list copy, fine print, excerpts  9.73 / 8.90  PASS 4.5
        #6b5426  mark, checks, numerals, eyebrows, links,
                 plate/recess edges, pin, Read More ........  6.71 / 6.14  PASS 4.5 (and 3.0 as a boundary)
        rgba(107,84,38,.7)=#968562 postcard edge, map rule ..  3.37 / 3.21  PASS 3.0
        rgba(107,84,38,.32) feature-item hairline ..........  1.64         decorative (the check carries the row; the list closes on a full #6b5426 rule)
        #22331f  the recess as an AREA ..................... 12.56 / 11.50 PASS 3.0
   B. PLATE  #fdfbf6 — flat, one number (rate plate, mats, postcard bodies)
        #2b3f2f  figures, labels, column heads, captions,
                 titles ................................... 10.95        PASS 4.5
        #3a4238  excerpts ................................. 10.07        PASS 4.5
        #6b5426  eyebrow, caption numerals, category link,
                 Read More ................................  6.95        PASS 4.5
        #5b6357  "Taxes as applicable*", meta date / views .  6.03        PASS 4.5
        #a58c55  row rules, meta rules, caption rule .......  3.13        PASS 3.0
        wash #f4eee0: #2b3f2f 9.79, #6b5426 6.21 ..........               PASS
   C. BAND  #2b3f2f + grain .05 + sheen; worst pixel #405243  (the gallery room)
        #f6edd8  gallery h2 if ever set, chip tick .........  9.72 / 7.19  PASS 4.5
        #fdfbf6  the mats, as AREAS ........................ 10.95 / 8.10  PASS 3.0
        #cbb279  mat edges, hairlines ......................  5.49 / 4.06  PASS 3.0
        #e6d4a6  focus rings on the band ...................  7.73 / 5.72  PASS 3.0
        rgba(203,178,121,.55) chip edge ....................  2.74         decorative (the chip is a 30px #2b3f2f fill at 10.58 on cream)
   D. RECESS  #22331f (the screen, the icon disc)
        #dcd5c4  dot numerals at rest ......................  9.20        PASS 4.5
        #f6edd8  hovered numeral, icon glyph ............... 11.54        PASS 4.5
        #cbb279  current-dot fill, disc ring ...............  6.52        PASS 3.0
        #22331f  numeral ON the current dot's brass ........  6.52        PASS 4.5
        #e6d4a6  iframe / dot focus rings ..................  9.18        PASS 3.0
        rgba(203,178,121,.7)=#988c5e the dot lattice .......  4.00        PASS 3.0
   E. BRASS PANEL (contact-lux's #cbb279 ground and white card, untouched)
        #2b3f2f on #cbb279 h2 ..............................  5.49        PASS 4.5 (contact-lux)
        #241f12 on #cbb279 intro ...........................  8.00        PASS 4.5 (contact-lux)
        rgba(107,84,38,.72)=#948463 field borders on white .  3.66        PASS 3.0 (was #d8e0dc, 1.31)
        #151515 on #ffffff typed text ...................... 18.26        PASS 4.5
        #5f6b5c on #ffffff placeholders ....................  5.61        PASS 4.5
        #8c2f2f on #ffffff error tips / borders ............  8.19        PASS 4.5
        #f6edd8 on #2f4634 submit, View More ...............  8.81        PASS 4.5
        #24331f on #ffffff focus rings ..................... 11.49        PASS 3.0
   F. DATEPICKER (white plate, #2b3f2f header)
        #f6edd8 on #2b3f2f month / year, chevrons, chosen day  9.72       PASS 4.5
        #2b3f2f on #ffffff day numerals, select text ....... 11.32        PASS 4.5
        #6b5426 on #ffffff weekday heads, today ............  7.19        PASS 4.5
        #6f766c on #ffffff past days (struck through) ......  4.68        PASS 4.5
        rgba(107,84,38,.72) select borders on white ........  3.66        PASS 3.0
   G. FANCYBOX  #1b2a1e ground: #f6edd8 caption 12.91 ...................  PASS 4.5

   TARGETS AND FOCUS
     · Owl dots ≥ 44 × 44 (five, one row, auto-fit). Datepicker days 44 × 44
       at every width from 320 (a 310px popup with zero padding), prev/next
       44 × 44, month/year selects 40px tall. Read More ≥ 44 tall; View More
       and the submit 50 tall; every gallery anchor a full print. The
       tel/mailto links in the terms are underlined inline text (SC 2.5.5
       inline exception).
     · Every focus indicator is :focus-visible with an offset: 2px #6b5426 or
       #2b3f2f on cream/plate, 3px #e6d4a6 on the recess and the band, 2px
       #f6edd8 on the datepicker header.

   MEDIA QUERY TOPOLOGY — every width query is min-width, ascending (390,
   576, 768, 992, 1200), plus (hover:hover), prefers-reduced-motion,
   forced-colors, print and two @supports selector(:has(*)) blocks. Not one
   max-width query and not one min/max pair. Sticky is DEFAULT-OFF and
   switched on at 992.

   MEASURED (2026-09-12) — rig _measure-stay.html?src=/_preview-stay-FINAL.html,
   the harness with a STATIC href and jquery-ui.css in the BODY after this
   sheet (the live order); real Owl / fancybox / jQuery-UI / WOW; Chrome
   parses all 179 top-level statements and 104 nested rules.
     overflow ok and 0 spilling elements at every one of the 13 widths
       (320/375/480/575/576/767/768/991/992/1199/1200/1280/1440); the live
       page's 38px empty-anchor spill at 1280 is gone (44 empty anchors
       display:none; a hidden one still opens a 9-slide fancybox group).
     body strip→blog end: 320 9,949 · 375 9,307 (baseline 7,910) · 480 8,968
       · 575 8,815 · 576 7,702 · 767 7,702 · 768 6,667 (baseline 7,411) ·
       991 6,704 · 992 6,899 · 1199 7,049 · 1200 6,563 · 1280 6,525
       (baseline 4,453) · 1440 6,526.
     video column 281/336/441/536 (320–575) · 516 (576–767) · 696 (768–991,
       the 216px md trap gone, the plate beneath it the same 696) · 376
       (992–1199) · 470 (1200) · 484 (1280+); FIRST after the strip below
       992 (434px under the strip's top at 375); static below 992, sticky
       top 164px from 992 and 120px with .jd-header.jd-scrolled (18px clear
       of the 102px condensed bar); iframes 16:9 (255x144 … 670x377 …
       459x258); .owl-nav display:none everywhere; five 44px-tall index
       cells (51 … 134 wide) numbered 01–05; the stage overflow:clip.
     rate: the plate FIRST in the reading at every width (figure 832px under
       the strip's top at 375, inside the first screen after it); a real
       <table> — Chrome's AX tree: table / rowgroup / row / 2 columnheaders /
       2 rows × 2 cells; never scrolls (243px in a 281 plate at 320); figures
       26 / 30 / 36 / 40 / 42 / 46px Fraunces; 1.3x font inflation at 360 and
       1280: no overflow, table 298 in 334, dots one row.
     booking: 8 fields, 48px white inputs with the rgba(107,84,38,.72) edge,
       focus border #2b3f2f + contact-lux's halo and #24331f ring, the error
       state contact-lux's 2px #8c2f2f (flagged, still wins); the outer row
       align-items:stretch so the intro column is the row's height and
       contact-lux's sticky intro travels; submit 237/292x50 → 190x50.
     datepicker on the live order: 310x302 popup at left 10 / right 320 on a
       true 320, z-index 10000 over the 9999 header (a popup that flips
       upward is painted above it — verified at 1280x700 and 320x560), 1px
       #6b5426 frame, 48px #2b3f2f header, month/year selects 126x40 and
       84x40 at 16px, prev/next 44x44, every day cell 44x44 at 320 and 1280,
       past days #6f766c struck through at td opacity 1, today = brass-ink
       numeral + inset 3px rule, chosen = #2b3f2f fill / #f6edd8 ink.
     map 281x300 / 336x300 / 516x380 / 696x420 / 936x450 / 1196x450 under a
       30px pin; the room 1-up to 575, 2-up from 576 (prints 222x167 →
       312x234 → 430x323 → 438x329, the mats in a row equal in height);
       gallery h2 0px and its .section-title display:none.
     stories: postcards 281 … 536 (1-up), 332 x2 (768), 450 x2 (992),
       442 x2 (1200+); photos 3:2; Read More 118x44; View More 200x50.
     WOW: all nine .wow elements end visible with transform none after a
       scroll-through; headless Chrome with --force-prefers-reduced-motion on
       the live-WOW harness paints the strip, the screen, the form row, the
       four prints and the stories heading. Hover (real pointer): rate row
       wash + brass rule, feature check 1.14, print 1.04 + overlay, card
       -3px lift, Read More → ink, tel link → ink 2px. Focus (real Tab): a
       ring on every link, field, print, card link and button.

   WHAT NO STYLESHEET CAN FIX — flagged, not glossed
     · js/custom.js:199 `autoplay:true` on the five-film carousel beside the
       rates (WCAG 2.2.2). One word: `autoplay:false`.
     · Owl 2.1.6 builds each dot as a <div> with no role or tabindex; the
       44px targets and the focus ring are real, keyboard operation waits on
       `navElement:"button"` in the init (custom.js:194).
     · Five iframes titled "YouTube video player"; the map iframe `title=""`.
     · The gallery <h2> is empty because ACF `heading` is unset on the page.
     · "INR 5000" / "INR 5500" have no thousands separator in the template;
       three heads end in a colon; heading order runs h2 → h6 → h3 → h6.
     · The two date fields are the fifth and sixth controls; dates-first is
       a CF7 form edit (form b80bdf4), not a CSS order.
     · Only two posts exist in the category; the auto-fit row handles any
       count, a third post simply fills a third track.
   ========================================================================== */


/* ==========================================================================
   §1  TOKENS — on the body class, so nothing can leak to another page
   ========================================================================== */
.page-id-1511{
  --st-serif:"Fraunces","Iowan Old Style","Palatino Linotype",Palatino,Georgia,serif;
  --st-sans:"Karla","Segoe UI",-apple-system,BlinkMacSystemFont,"Helvetica Neue",Arial,sans-serif;

  --st-paper:#faf7ef;            /* grained cream: prose, map, stories */
  --st-plate:#fdfbf6;            /* the flat plates: rate, mats, postcards */
  --st-band:#2b3f2f;             /* the gallery room; the chips; the datepicker header */
  --st-recess:#22331f;           /* the video well; the icon disc */
  --st-wash:#f4eee0;             /* row and day hover */

  --st-ink:#2b3f2f;
  --st-body:#3a4238;
  --st-brass-ink:#6b5426;
  --st-quiet:#5b6357;
  --st-dim:#6f766c;              /* past days, 4.68 on white */
  --st-cream-ink:#f6edd8;
  --st-cream-quiet:#dcd5c4;
  --st-ring:#e6d4a6;
  --st-brass:#cbb279;            /* on green and on the recess only (L11) */
  --st-rule-plate:#a58c55;       /* on the flat plate only (L11) */
  --st-rule:rgba(107,84,38,.72); /* 3.51 on paper, 3.58 on the plate, 3.66 on white */
  --st-edge-paper:rgba(107,84,38,.7);
  --st-hair:rgba(203,178,121,.55);
  --st-lattice:rgba(203,178,121,.7);
  --st-item-hair:rgba(107,84,38,.32);

  --st-grain:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3'/%3E%3C/filter%3E%3Crect width='120' height='120' filter='url(%23n)' opacity='.04'/%3E%3C/svg%3E");
  --st-grain-night:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='120' height='120' filter='url(%23n)' opacity='.05'/%3E%3C/svg%3E");
  --st-sheen:linear-gradient(180deg, rgba(255,255,255,.05) 0%, rgba(255,255,255,0) 42%, rgba(0,0,0,.14) 100%);

  --st-ease:cubic-bezier(.2,.7,.2,1);
  --st-t:.24s;
}


/* ==========================================================================
   §2  THE STRIP — banner-lux's, untouched. Zero rules, by decision.
   --------------------------------------------------------------------------
   banner-lux.css:793–983 already sets the strip in this system: grained
   cream, the Fraunces h2 with the 46px mark, 17px Karla, two 44px contact
   links, a brass hairline underneath. The reading below opens on the SAME
   grained cream, so that hairline is the one seam between them and the
   strip's 38–66px padding is the right distance from a dark banner.
   ========================================================================== */


/* ==========================================================================
   §3  THE READING — .new_stay on paper; the column order; the prose
   --------------------------------------------------------------------------
   style.css:271 pads .sectiongap 20px at (0,1,0); style.css:57 sets p at
   15px/22 Helvetica #151515 (0,0,1); :3392 sets the h6s at 16px #000
   (0,2,1). Everything here is (0,2,0)+ / (0,3,x)+.

   MARGIN AUDIT (L5 — flex items do not collapse margins):
     plate  →  lede        plate margin-bottom 34, lede margin-top 0    = 34
     lede   →  p           lede margin-bottom 24                        = 24
     p      →  p           p margin-bottom 16                           = 16
     p      →  h6          p 16 + h6 margin-top 18                      = 34
     h6     →  ul / p      h6 margin-bottom 16                          = 16
     ul     →  h6          ul 0 + `ul + h6` margin-top 34               = 34
     p      →  closing p   p 16 + closing margin-top 6                  = 22
     closing→  terms h6    closing 0 + terms h6 margin-top 36           = 36
     terms ul → services h6   ul 0 + margin-top 40                      = 40
   ========================================================================== */
.page-id-1511 .new_stay{
  position:relative;
  padding:44px 0 52px;
  background-color:var(--st-paper);
  background-image:var(--st-grain);
  font-family:var(--st-sans);
  color:var(--st-body);
}

/* L3 — first half, (0,4,0) */
.page-id-1511 .new_stay .row > [class*="col-"]{
  flex:0 0 auto;
  width:100%;
  max-width:100%;
}
/* L5 — the screen first below 992; L9 — zoomIn anchored at the top */
.page-id-1511 .new_stay .row > .col-lg-4{
  order:-1;
  transform-origin:50% 0;
}

/* the prose column — L5 */
.page-id-1511 .new_stay .new_stay_left{
  display:flex;
  flex-direction:column;
  align-items:stretch;
  font-family:var(--st-sans);
  color:var(--st-body);
}

/* PARAGRAPHS */
.page-id-1511 .new_stay .new_stay_left > p{
  max-width:68ch;
  margin:0 0 16px;
  font-family:var(--st-sans);
  font-size:17px;
  line-height:1.66;
  color:var(--st-body);                       /* 9.73 / 8.90 worst */
  text-align:left;
  -webkit-hyphens:manual;
          hyphens:manual;
  text-wrap:pretty;
}

/* THE LEDE. The first paragraph is the opening line: Fraunces at display
   size under the house 46px mark in brass ink (6.71 — banner-lux's #cbb279
   mark is 1.93 on this ground, which is why it is not repeated here).
   Visually it follows the rate plate (L5): 34px under the plate, then the
   mark, then the line. */
.page-id-1511 .new_stay .new_stay_left > p:first-child{
  position:relative;
  max-width:40ch;                             /* the live first paragraph is
                                                 31 words; at 30ch/29px it was
                                                 a 10-line wall on a phone */
  margin:0 0 24px;
  padding-top:20px;
  font-family:var(--st-serif);
  font-optical-sizing:auto;
  font-size:clamp(19px, 2vw, 24px);
  font-weight:500;
  line-height:1.4;
  letter-spacing:-.01em;
  color:var(--st-ink);                        /* 10.58 / 9.68 worst */
}
.page-id-1511 .new_stay .new_stay_left > p:first-child::before{
  content:"";
  position:absolute;
  top:0;
  left:0;
  width:46px;
  height:2px;
  background:var(--st-brass-ink);
}

/* THE CLOSING LINE — C3: "Come for a staycation near Kolkata…", the
   paragraph directly before the rate block in the DOM; on screen it closes
   the reading before the fine print. Its own rule, its own @supports. */
@supports selector(:has(*)){
  .page-id-1511 .new_stay .new_stay_left > p:has(+ .new_stay_left_table){
    max-width:44ch;
    margin:6px 0 0;
    font-family:var(--st-serif);
    font-optical-sizing:auto;
    font-style:italic;
    font-size:clamp(19px, 2vw, 22px);
    font-weight:500;
    line-height:1.45;
    color:var(--st-ink);
  }
}

/* THE DISPLAY HEADS — "What Makes a Jagriti Dham Staycation Special?" and
   "More Than a Stay. An Experience." All their text is in <strong>, so the
   weight is inherited rather than doubled. The two tail heads are
   re-assigned by adjacency in §6 and §7. Gap above = 16 (p bottom) + 18. */
.page-id-1511 .new_stay .new_stay_left h6{
  max-width:26ch;
  margin:18px 0 16px;
  font-family:var(--st-serif);
  font-optical-sizing:auto;
  font-size:clamp(22px, 2.3vw, 27px);
  font-weight:600;
  line-height:1.2;
  letter-spacing:-.01em;
  color:var(--st-ink);                        /* 10.58 / 9.68 worst */
  text-wrap:balance;
}
.page-id-1511 .new_stay .new_stay_left h6 strong{ font-weight:inherit; }
/* the head after the feature list: the list closes on a rule with no
   margin, so the whole gap is opened here */
.page-id-1511 .new_stay .new_stay_left > ul + h6{ margin-top:34px; }

/* THE LINKS (tel / mailto in the terms). style.css:3627 sets 600 and :3631
   hovers to #4f6f52, a green from no palette. Underlined at rest. */
.page-id-1511 .new_stay .new_stay_left a{
  color:var(--st-brass-ink);                  /* 6.71 / 6.14 worst */
  font-weight:600;
  text-decoration:underline;
  text-decoration-thickness:1px;
  text-decoration-color:var(--st-brass-ink);
  text-underline-offset:3px;
  overflow-wrap:anywhere;
  transition:color var(--st-t) var(--st-ease), text-decoration-color var(--st-t) var(--st-ease);
}
/* on touch, style.css:3631's :hover fires on tap — held to brass ink here,
   lifted to ink inside (hover:hover) in §15 */
.page-id-1511 .new_stay .new_stay_left a:hover{ color:var(--st-brass-ink); }
.page-id-1511 .new_stay .new_stay_left a:focus-visible{
  outline:2px solid var(--st-brass-ink);
  outline-offset:3px;
}

/* every list in the column: style.css:486 hangs .tick lists 32px in with
   20px margins (0,2,1) and responsive.css:383 re-margins them under 480;
   the font-size is set on the UL as well as the LI because a ch measure
   resolves against the UL's own em (the body is 13px) */
.page-id-1511 .new_stay .new_stay_left > ul{
  margin:0;
  padding:0;
  list-style:none;
  font-size:16px;
}


/* ==========================================================================
   §4  THE FEATURE LIST — the ten points, two columns from 768
   --------------------------------------------------------------------------
   Reached as `p + h6 + ul`: the only <ul> that directly follows a paragraph
   and a head. style.css:501 draws the FA check-circle in #cbb279 (1.93:1
   here) with a -20px margin; responsive.css:388 re-hangs it at -22px below
   480. The mechanism is replaced: the check is placed absolutely in brass
   ink, the text hangs 32px. Every item is ruled above; the list closes on
   a full rule.
   ========================================================================== */
.page-id-1511 .new_stay .new_stay_left > p + h6 + ul{
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:0 32px;
  margin:0;
  padding:0;
  border-bottom:1px solid var(--st-brass-ink);
}
.page-id-1511 .new_stay .new_stay_left > p + h6 + ul > li{
  position:relative;
  margin:0;
  padding:8px 0 9px 32px;
  border-top:1px solid var(--st-item-hair);
  font-family:var(--st-sans);
  font-size:16px;
  line-height:1.55;
  color:var(--st-body);
}
.page-id-1511 .new_stay .new_stay_left > p + h6 + ul > li::before{
  content:"\f058";
  position:absolute;
  left:0;
  top:8px;
  margin:0;
  font-family:"Font Awesome 5 Free";
  font-weight:900;
  font-size:16px;
  line-height:1.55;
  color:var(--st-brass-ink);                  /* 6.71 / 6.14 worst */
  transform-origin:left center;
  transition:color var(--st-t) var(--st-ease), transform var(--st-t) var(--st-ease);
}


/* ==========================================================================
   §5  THE RATE PLATE — .new_stay_left_table, FIRST in the reading
   --------------------------------------------------------------------------
   One FLAT cream plate on the grained sheet: 1px #6b5426 edge, 3px cap, no
   shadow, no radius, ordered first (L5). Inside it the theme's 2x2 table
   (style.css:3409–3435: #d8d8d8 borders, a #4f6f52 header bar, 14/15px
   Helvetica) stays a TABLE (L7), set as a tariff: the column heads —
   "Independent Living Category" | "Rates Per Night" — as small tracked caps
   on a 2px brass rule; each row a Fraunces label on the left and the
   template's own figure on the right in Fraunces 600 at 26 → 30 → 36 → 40
   → 42 → 46px, ruled between; "Taxes as applicable*" attached beneath in
   Fraunces italic. A family reads Single · INR 5000, Double · INR 5500,
   per night, taxes extra — in one glance, from the template's six cells.
   ========================================================================== */
.page-id-1511 .new_stay .new_stay_left > .new_stay_left_table{
  --st-pad:18px;
  order:-1;                                   /* L5 */
  align-self:stretch;
  position:relative;
  margin:0 0 34px;
  padding:20px var(--st-pad) 18px;
  background-color:var(--st-plate);
  background-image:none;                      /* the plate is not paper */
  border:1px solid var(--st-brass-ink);       /* 6.71 on the paper */
  border-top:3px solid var(--st-brass-ink);
  font-family:var(--st-sans);
  color:var(--st-body);
}
/* "Rates & Commercials:" — beats style.css:3403's #4f6f52 20px at (0,3,1) */
.page-id-1511 .new_stay .new_stay_left h3{
  margin:0 0 14px;
  font-family:var(--st-sans);
  font-size:12.5px;
  font-weight:700;
  letter-spacing:.2em;
  text-transform:uppercase;
  line-height:1.5;
  color:var(--st-brass-ink);                  /* 6.95 on the plate */
}
.page-id-1511 .new_stay .new_stay_left h3 strong{ font-weight:inherit; }

.page-id-1511 .new_stay .new_stay_left table{
  width:100%;
  margin:0;
  border:0;
  border-radius:0;
  border-collapse:collapse;
  border-spacing:0;
  line-height:1.3;
  background:transparent;
  font-family:var(--st-sans);
  color:var(--st-body);
}
/* the column heads — style.css:3419's green bar and responsive.css:821 undone */
.page-id-1511 .new_stay .new_stay_left table thead th{
  padding:0 0 10px;
  border:0;
  border-bottom:2px solid var(--st-brass-ink);
  background:transparent;
  overflow-wrap:anywhere;                     /* the HEAD row sets the label
                                                 column's minimum: at 1.3x
                                                 text scaling "INDEPENDENT"
                                                 alone was 123px and pushed
                                                 the nowrap figure to the
                                                 plate's edge at 320 */
  hyphens:auto;
  font-family:var(--st-sans);
  font-size:11.5px;
  font-weight:700;
  letter-spacing:.14em;
  text-transform:uppercase;
  line-height:1.4;
  color:var(--st-ink);                        /* 10.95 */
  text-align:left;
  vertical-align:bottom;
}
.page-id-1511 .new_stay .new_stay_left table thead th:last-child{ text-align:right; padding-left:12px; }
/* the rows — style.css:3429 and responsive.css:826 undone */
.page-id-1511 .new_stay .new_stay_left table tbody td{
  padding:14px 0 13px;
  border:0;
  border-top:1px solid var(--st-rule-plate);  /* 3.13 on the plate */
  background:transparent;
  font-family:var(--st-sans);
  font-size:15.5px;
  font-weight:500;
  line-height:1.4;
  color:var(--st-body);                       /* 10.07 */
  vertical-align:middle;
  text-align:left;
  transition:background-color var(--st-t) var(--st-ease), border-color var(--st-t) var(--st-ease);
}
.page-id-1511 .new_stay .new_stay_left table tbody tr:first-child td{ border-top:0; }
/* THE LABELS — "Single Occupancy" / "Double Occupancy" in Fraunces; the
   cell may wrap (two lines at 320) and, under Android font inflation, may
   break a word before the table can overflow the plate (L7) */
.page-id-1511 .new_stay .new_stay_left table tbody td:first-child{
  padding-right:12px;
  font-family:var(--st-serif);
  font-optical-sizing:auto;
  font-size:16px;
  font-weight:500;
  line-height:1.3;
  letter-spacing:-.004em;
  color:var(--st-ink);                        /* 10.95 */
  overflow-wrap:anywhere;
}
/* THE FIGURES — the template's own "INR 5000" / "INR 5500". Proportional
   lining figures (Google Fonts' Fraunces has no tnum). nowrap on this cell
   only (L7). */
.page-id-1511 .new_stay .new_stay_left table tbody td:last-child{
  font-family:var(--st-serif);
  font-optical-sizing:auto;
  font-size:26px;
  font-weight:600;
  line-height:1.05;
  letter-spacing:-.02em;
  color:var(--st-ink);                        /* 10.95 */
  text-align:right;
  white-space:nowrap;
  font-variant-numeric:lining-nums tabular-nums;
}
/* "Taxes as applicable*" — attached to the plate, quiet, Fraunces italic
   (Karla ships no italic here) */
.page-id-1511 .new_stay .new_stay_left > .new_stay_left_table > p{
  max-width:none;
  margin:12px 0 0;
  font-family:var(--st-serif);
  font-optical-sizing:auto;
  font-style:italic;
  font-size:15px;
  font-weight:500;
  line-height:1.5;
  color:var(--st-quiet);                      /* 6.03 on the plate */
  text-align:left;
}
.page-id-1511 .new_stay .new_stay_left > .new_stay_left_table > p i{ font-style:inherit; }


/* ==========================================================================
   §6  THE FINE PRINT — "Terms and Conditions:" + nine numbered terms
   --------------------------------------------------------------------------
   The head becomes a brass-ink eyebrow on a 2px rule; the list a ruled panel
   of 14.5px Karla set in two columns from 768, each term numbered 01–09 by a
   CSS counter. C1: the first two terms — the check-in times and the four
   meals — set as lead facts in Fraunces at full width. C2: the contact line
   spans both columns.
   ========================================================================== */
.page-id-1511 .new_stay .new_stay_left > .new_stay_left_table + h6{
  max-width:none;
  margin:36px 0 0;
  padding:14px 0 0;
  border-top:2px solid var(--st-brass-ink);
  font-family:var(--st-sans);
  font-size:12.5px;
  font-weight:700;
  letter-spacing:.2em;
  text-transform:uppercase;
  line-height:1.5;
  color:var(--st-brass-ink);                  /* 6.71 / 6.14 worst */
  text-wrap:wrap;
}
.page-id-1511 .new_stay .new_stay_left > .new_stay_left_table + h6 + ul{
  counter-reset:st-term;
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:0 36px;
  margin:0;
  padding:8px 0 10px;
  border-bottom:1px solid var(--st-brass-ink);
  font-size:14.5px;
}
.page-id-1511 .new_stay .new_stay_left > .new_stay_left_table + h6 + ul > li{
  counter-increment:st-term;
  position:relative;
  margin:0;
  padding:6px 0 6px 34px;
  font-family:var(--st-sans);
  font-size:14.5px;
  line-height:1.55;
  color:var(--st-body);                       /* 9.73 / 8.90 worst */
  -moz-column-break-inside:avoid;
       break-inside:avoid;
}
.page-id-1511 .new_stay .new_stay_left > .new_stay_left_table + h6 + ul > li::before{
  content:counter(st-term, decimal-leading-zero);
  position:absolute;
  left:0;
  top:6px;
  margin:0;
  padding-top:3px;
  font-family:var(--st-sans);
  font-size:11px;
  font-weight:700;
  letter-spacing:.1em;
  line-height:1.5;
  color:var(--st-brass-ink);
  font-variant-numeric:lining-nums tabular-nums;
}
/* C1 — the two lead facts */
.page-id-1511 .new_stay .new_stay_left > .new_stay_left_table + h6 + ul > li:nth-child(-n+2){
  grid-column:1 / -1;
  padding:10px 0 10px 34px;
  font-family:var(--st-serif);
  font-optical-sizing:auto;
  font-size:17.5px;
  font-weight:500;
  line-height:1.4;
  letter-spacing:-.004em;
  color:var(--st-ink);                        /* 10.58 / 9.68 worst */
}
.page-id-1511 .new_stay .new_stay_left > .new_stay_left_table + h6 + ul > li:nth-child(-n+2)::before{
  top:10px;
  padding-top:5px;
}
.page-id-1511 .new_stay .new_stay_left > .new_stay_left_table + h6 + ul > li:nth-child(2){
  margin-bottom:4px;
  padding-bottom:14px;
  border-bottom:1px solid var(--st-item-hair);
}
/* C2 */
.page-id-1511 .new_stay .new_stay_left > .new_stay_left_table + h6 + ul > li:last-child{
  grid-column:1 / -1;
}


/* ==========================================================================
   §7  THE SERVICES REGISTER — "Services:" + eight cells
   --------------------------------------------------------------------------
   A ruled register in the house pattern (longstay's amenities): per-cell
   borders (cells give right + bottom, the list gives top + left, so no line
   is drawn twice and the count can change), and in each cell a 30px chip of
   the deep green with a cream tick. One column, two from 576.
   ========================================================================== */
.page-id-1511 .new_stay .new_stay_left > .new_stay_left_table + h6 + ul + h6{
  /* the same eyebrow as the Terms head: the two are sibling h6s of one rank */
  max-width:none;
  margin:40px 0 0;
  padding:14px 0 0;
  border-top:2px solid var(--st-brass-ink);
  font-family:var(--st-sans);
  font-size:12.5px;
  font-weight:700;
  letter-spacing:.2em;
  text-transform:uppercase;
  line-height:1.5;
  color:var(--st-brass-ink);
  text-wrap:wrap;
}
.page-id-1511 .new_stay .new_stay_left > .new_stay_left_table + h6 + ul + h6 + ul{
  display:grid;
  grid-template-columns:minmax(0,1fr);
  margin:0;
  padding:0;
  border-top:1px solid var(--st-brass-ink);
  border-left:1px solid var(--st-brass-ink);
  font-size:15.5px;
}
.page-id-1511 .new_stay .new_stay_left > .new_stay_left_table + h6 + ul + h6 + ul > li{
  position:relative;
  margin:0;
  padding:12px 16px 13px 58px;
  border-right:1px solid var(--st-brass-ink);
  border-bottom:1px solid var(--st-brass-ink);
  font-family:var(--st-sans);
  font-size:15.5px;
  line-height:1.5;
  color:var(--st-body);
  transition:background-color var(--st-t) var(--st-ease);
}
.page-id-1511 .new_stay .new_stay_left > .new_stay_left_table + h6 + ul + h6 + ul > li::before{
  content:"\f00c";
  position:absolute;
  left:14px;
  top:11px;
  display:flex;
  align-items:center;
  justify-content:center;
  width:30px;
  height:30px;
  margin:0;
  background-color:var(--st-band);
  border:1px solid var(--st-hair);
  font-family:"Font Awesome 5 Free";
  font-weight:900;
  font-size:12px;
  line-height:1;
  color:var(--st-cream-ink);                  /* 9.72 on the chip */
  transition:background-color var(--st-t) var(--st-ease), color var(--st-t) var(--st-ease);
}


/* ==========================================================================
   §8  THE SCREEN — the video column, the lit recess
   --------------------------------------------------------------------------
   Four inherited defects fixed: the two orange chevrons (L2), the 0px dots
   (the markup lacks .owl-theme), the 5:4 letterbox from height="300", and
   style.css:648's 10px item margin.
   ========================================================================== */
/* L2 — (0,5,0) against style.css:680's (0,3,0) */
.page-id-1511 .new_stay .longstay_video_carousel .owl-nav,
.page-id-1511 .new_stay .longstay_video_carousel .owl-nav.disabled{
  display:none !important;
  margin:0;
}
.page-id-1511 .new_stay .longstay_video_carousel .item{ margin:0; }
/* L8 */
.page-id-1511 .new_stay .longstay_video_carousel .owl-stage-outer{
  overflow:hidden;
  overflow:clip;
}

/* stacked below 992 the column is full container width and ordered first;
   capped at the 768–991 column's own width (696) so the screen and the
   plate beneath it share their edges at every tier, with room under it */
.page-id-1511 .new_stay .new_stay_right{
  max-width:700px;
  margin:0 auto 34px;
  text-align:left;
}
/* L9 — default OFF; on at 992 (§16) */
.page-id-1511 .new_stay .new_stay_right.sticky_div{
  position:static;
  top:auto;
}
.page-id-1511 .new_stay .new_stay_right_slider{
  position:relative;
  margin:0;
  padding:12px;
  background-color:var(--st-recess);
  border:1px solid var(--st-brass-ink);       /* 6.71 against the paper */
  box-shadow:0 30px 44px -30px rgba(34,51,31,.55);   /* the one cast shadow in the reading */
}
/* 16:9 — the height="300" attribute is a presentational hint and loses */
.page-id-1511 .new_stay .longstay_video_carousel .item iframe{
  display:block;
  width:100%;
  height:300px;                               /* the template's own height,
                                                 kept for engines without
                                                 aspect-ratio (Safari <= 14):
                                                 height:auto alone dropped
                                                 them to the 150px default */
  box-sizing:border-box;
  border:3px solid transparent;               /* the dark band on focus */
  background-color:#1b2a1e;
}
@supports (aspect-ratio:16 / 9){
  .page-id-1511 .new_stay .longstay_video_carousel .item iframe{ height:auto; aspect-ratio:16 / 9; }
}
.page-id-1511 .new_stay .longstay_video_carousel .item iframe:focus-visible{
  border-color:var(--st-recess);
  outline:3px solid var(--st-ring);           /* 9.18 */
  outline-offset:-3px;
  box-shadow:none;
}

/* THE FILM INDEX — numbered 44px cells from a CSS counter, auto-fit so the
   count is whatever the template holds; per-cell borders in a lattice */
.page-id-1511 .new_stay .longstay_video_carousel .owl-dots{
  counter-reset:st-film;
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(44px, 1fr));
  margin:12px 0 0;
  padding:0;
  border-top:1px solid var(--st-lattice);     /* 4.00 on the recess */
  border-left:1px solid var(--st-lattice);
  text-align:left;
}
.page-id-1511 .new_stay .longstay_video_carousel .owl-dots .owl-dot{
  counter-increment:st-film;
  display:flex;
  align-items:center;
  justify-content:center;
  min-width:44px;
  min-height:44px;
  margin:0;
  padding:0;
  border:0;
  border-right:1px solid var(--st-lattice);
  border-bottom:1px solid var(--st-lattice);
  border-radius:0;
  background:transparent;
  cursor:pointer;
  font-family:var(--st-sans);
  font-size:12px;
  font-weight:600;
  letter-spacing:.08em;
  line-height:1;
  color:var(--st-cream-quiet);                /* 9.20 */
  font-variant-numeric:lining-nums tabular-nums;
  transition:background-color var(--st-t) var(--st-ease), color var(--st-t) var(--st-ease);
}
.page-id-1511 .new_stay .longstay_video_carousel .owl-dots .owl-dot span{ display:none; }
.page-id-1511 .new_stay .longstay_video_carousel .owl-dots .owl-dot::before{
  content:counter(st-film, decimal-leading-zero);
}
/* current: brass fill AND inverted ink — two channels */
.page-id-1511 .new_stay .longstay_video_carousel .owl-dots .owl-dot.active{
  background-color:var(--st-brass);           /* 6.52 area */
  color:var(--st-recess);                     /* 6.52 numeral */
}
.page-id-1511 .new_stay .longstay_video_carousel .owl-dots .owl-dot:focus-visible{
  outline:2px solid var(--st-ring);           /* 9.18 */
  outline-offset:-4px;
}
.page-id-1511 .new_stay .longstay_video_carousel .owl-dots .owl-dot.active:focus-visible{
  outline-color:var(--st-recess);
}


/* ==========================================================================
   §9  THE BOOKING — #contact, extending contact-lux, never fighting it
   --------------------------------------------------------------------------
   contact-lux.css owns #contact sitewide: the brass ground, the Fraunces h2,
   the white 16px-radius card, the 48px white fields, the pill, the errors,
   the response box. All of it stands. Added at (1,2,x)+ over its (1,1,x):
   a field border that is a boundary on white; the two date fields' calendar
   glyph; the row's alignment answered in kind; Karla on what it missed.
   ========================================================================== */
/* The template's row carries Bootstrap's `.align-items-center{…!important}`,
   which centres the intro column at its content height — so contact-lux's
   sticky intro (position:sticky from 992) has no room to travel and the h2
   floats at the form's middle. Answered in kind with STRETCH (Bootstrap's
   own row default, the one contact-lux was written for): the column takes
   the row's height and the intro reads from the top and travels with the
   form. The captcha's inner .row.align-items-center is NOT matched — this
   is the container's row only. */
.page-id-1511 #contact > .container > .row.align-items-center{ align-items:stretch !important; }

/* the controls: contact-lux's selectors, one class heavier. contact-lux's
   :focus rule is (1,2,1) and would tie with these at rest, so the focus
   border is restated at (1,3,1) below. */
.page-id-1511 #contact input.form-control,
.page-id-1511 #contact textarea.form-control,
.page-id-1511 #contact input.wpcf7-mathcaptcha{
  border:1px solid var(--st-rule);            /* #948463 on white, 3.66 */
  font-family:var(--st-sans);
}
.page-id-1511 #contact input.form-control:focus,
.page-id-1511 #contact textarea.form-control:focus,
.page-id-1511 #contact input.wpcf7-mathcaptcha:focus{
  border-color:#2b3f2f;
}
/* contact-lux's error state is flagged (2px #8c2f2f) and still wins */
.page-id-1511 #contact textarea.form-control{ min-height:110px; }   /* rows="2": an address, not an essay */

/* the placeholder is the field's only name — style.css:331 flags it */
.page-id-1511 #contact ::placeholder{ color:#5f6b5c !important; opacity:1; }   /* 5.61 */

/* THE TWO DATE FIELDS — a brass-ink calendar glyph at the right and a
   pointer, because a click opens the picker. padding-right keeps a typed
   "12/09/2026" clear of the glyph. */
.page-id-1511 #contact input.form-control.datepicker{
  padding-right:46px;
  cursor:pointer;
  font-variant-numeric:lining-nums tabular-nums;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Cg fill='none' stroke='%236b5426' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='2.5' y='4' width='15' height='13.5' rx='1.5'/%3E%3Cpath d='M2.5 8.5h15M6.5 2.5v3M13.5 2.5v3'/%3E%3C/g%3E%3Ccircle cx='7' cy='12' r='1.1' fill='%236b5426'/%3E%3Ccircle cx='10' cy='12' r='1.1' fill='%236b5426'/%3E%3Ccircle cx='13' cy='12' r='1.1' fill='%236b5426'/%3E%3C/svg%3E");
  background-repeat:no-repeat;
  background-position:right 14px center;
  background-size:20px 20px;
}
.page-id-1511 #contact input.form-control.datepicker:focus{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Cg fill='none' stroke='%232b3f2f' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='2.5' y='4' width='15' height='13.5' rx='1.5'/%3E%3Cpath d='M2.5 8.5h15M6.5 2.5v3M13.5 2.5v3'/%3E%3C/g%3E%3Ccircle cx='7' cy='12' r='1.1' fill='%232b3f2f'/%3E%3Ccircle cx='10' cy='12' r='1.1' fill='%232b3f2f'/%3E%3Ccircle cx='13' cy='12' r='1.1' fill='%232b3f2f'/%3E%3C/svg%3E");
}

/* the captcha sum and the submit, in the house face */
.page-id-1511 #contact .mathcaptcha_div .wpcf7-form-control-wrap{
  flex-wrap:nowrap;
  white-space:nowrap;
  color:var(--st-ink);                        /* 11.32 on white */
}
.page-id-1511 #contact .wpcf7-submit,
.page-id-1511 #contact .wpcf7-form-control.btn-primary{
  font-family:var(--st-sans);
  text-transform:uppercase;
  line-height:1.2;
  cursor:pointer;
}
.page-id-1511 #contact .wpcf7-not-valid-tip,
.page-id-1511 #contact .wpcf7-response-output,
.page-id-1511 #contact .gscf7-frontend-gdpr-notice{ font-family:var(--st-sans); }


/* ==========================================================================
   §10  THE DATEPICKER — jQuery UI 1.13.2 base, appended to <body>  (L10)
   --------------------------------------------------------------------------
   The popup is outside #contact, so it is reached through the body class.
   A white plate with a 1px brass-ink edge; the header in the house green
   with the month and year selects, cream chevrons; day cells 44 × 44 from
   a 320 viewport (310px popup, zero padding, fixed table layout); today =
   brass-ink numeral with an inset 3px brass rule, chosen = green fill with
   cream ink, past = legible grey struck through — two channels per state.
   ========================================================================== */
.page-id-1511 div.ui-datepicker{
  z-index:10000 !important;                   /* L10 — jQuery UI sets it inline; the fixed header is 9999 */
  box-sizing:border-box;
  width:310px;                                /* 7 × 44 + the frame */
  max-width:calc(100% - 8px);                 /* body width without the scrollbar; a narrower viewport shrinks the cells evenly */
  min-width:0;
  margin:0;
  padding:0;
  background:#ffffff;
  background-image:none;
  border:1px solid var(--st-brass-ink);
  border-radius:0;
  box-shadow:0 22px 44px -28px rgba(43,63,47,.7);
  font-family:var(--st-sans);
  font-size:15px;
  color:var(--st-ink);
}
.page-id-1511 div.ui-datepicker .ui-datepicker-header{
  position:relative;
  display:flex;
  align-items:center;
  min-height:48px;
  margin:0;
  padding:0;
  background:var(--st-band);
  background-image:none;
  border:0;
  border-radius:0;
  color:var(--st-cream-ink);
  font-weight:600;
}
.page-id-1511 div.ui-datepicker .ui-datepicker-prev,
.page-id-1511 div.ui-datepicker .ui-datepicker-next{
  position:absolute;
  top:2px;
  width:44px;
  height:44px;
  margin:0;
  border:0;
  border-radius:0;
  background:transparent;
  cursor:pointer;
  transition:background-color var(--st-t) var(--st-ease);
}
.page-id-1511 div.ui-datepicker .ui-datepicker-prev{ left:0; }
.page-id-1511 div.ui-datepicker .ui-datepicker-next{ right:0; }
/* minDate:0 disables prev on the current month: jquery-ui fades it to .35;
   held at .5 so the control still reads as present-but-off on the green */
.page-id-1511 div.ui-datepicker .ui-datepicker-prev.ui-state-disabled,
.page-id-1511 div.ui-datepicker .ui-datepicker-next.ui-state-disabled{ opacity:.5; cursor:default; }
.page-id-1511 div.ui-datepicker .ui-datepicker-prev-hover,
.page-id-1511 div.ui-datepicker .ui-datepicker-next-hover{
  top:2px;
  border:0;
  background:rgba(203,178,121,.22);
}
.page-id-1511 div.ui-datepicker .ui-datepicker-prev-hover{ left:0; }
.page-id-1511 div.ui-datepicker .ui-datepicker-next-hover{ right:0; }
.page-id-1511 div.ui-datepicker .ui-datepicker-prev:focus-visible,
.page-id-1511 div.ui-datepicker .ui-datepicker-next:focus-visible{
  outline:2px solid var(--st-cream-ink);
  outline-offset:-4px;
}
/* the sprite arrows, replaced; position reset so the sprite offsets cannot
   move the chevron */
.page-id-1511 div.ui-datepicker .ui-datepicker-header .ui-icon{
  display:block;
  position:absolute;
  left:50%;
  top:50%;
  width:16px;
  height:16px;
  margin:-8px 0 0 -8px;
  overflow:hidden;
  text-indent:-9999px;
  background-color:transparent;
  background-repeat:no-repeat;
  background-position:center center;
  background-size:16px 16px;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='%23f6edd8' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round' d='M10 3L5 8l5 5'/%3E%3C/svg%3E");
}
.page-id-1511 div.ui-datepicker .ui-datepicker-next .ui-icon{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='%23f6edd8' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round' d='M6 3l5 5-5 5'/%3E%3C/svg%3E");
}
.page-id-1511 div.ui-datepicker .ui-datepicker-title{
  flex:1 1 auto;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  margin:0 46px;
  min-width:0;
  min-height:44px;
  line-height:1.2;
  font-family:var(--st-serif);
  font-optical-sizing:auto;
  font-size:17px;
  font-weight:600;
  color:var(--st-cream-ink);                  /* 9.72 — the text form, if the init ever drops changeMonth */
}
/* changeMonth / changeYear render two <select>s in the title. 16px so iOS
   does not zoom the page on focus. */
.page-id-1511 div.ui-datepicker .ui-datepicker-title select{
  -webkit-appearance:none;
     -moz-appearance:none;
          appearance:none;
  box-sizing:border-box;
  width:auto;
  min-width:0;
  min-height:40px;
  margin:0;
  padding:0 24px 0 8px;
  background-color:#ffffff;
  border:1px solid var(--st-rule);            /* 3.66 on white */
  border-radius:0;
  font-family:var(--st-sans);
  font-size:16px;
  font-weight:600;
  line-height:1.3;
  color:var(--st-ink);                        /* 11.32 */
  cursor:pointer;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='%236b5426' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round' d='M3 6l5 5 5-5'/%3E%3C/svg%3E");
  background-repeat:no-repeat;
  background-position:right 6px center;
  background-size:14px 14px;
}
.page-id-1511 div.ui-datepicker .ui-datepicker-title select.ui-datepicker-month{ flex:1 1 0; }
.page-id-1511 div.ui-datepicker .ui-datepicker-title select.ui-datepicker-year{ flex:0 0 84px; }
.page-id-1511 div.ui-datepicker .ui-datepicker-title select:focus-visible{
  outline:2px solid var(--st-cream-ink);
  outline-offset:2px;
}
.page-id-1511 div.ui-datepicker table{
  width:100%;
  table-layout:fixed;
  margin:0;
  border-collapse:collapse;
  border-spacing:0;
  font-family:var(--st-sans);
  font-size:15px;
}
.page-id-1511 div.ui-datepicker th{
  padding:10px 0 6px;
  border:0;
  font-family:var(--st-sans);
  font-size:11px;
  font-weight:700;
  letter-spacing:.12em;
  text-transform:uppercase;
  text-align:center;
  color:var(--st-brass-ink);                  /* 7.19 on white */
}
.page-id-1511 div.ui-datepicker td{ padding:0; border:0; }
.page-id-1511 div.ui-datepicker td span,
.page-id-1511 div.ui-datepicker td a{
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  min-width:0;                                /* 44 wide at the popup's full width; shrinks evenly in a narrower one */
  min-height:44px;
  margin:0;
  padding:0;
  background:#ffffff;
  border:1px solid transparent;
  border-radius:0;
  font-family:var(--st-sans);
  font-size:15px;
  font-weight:500;
  color:var(--st-ink);                        /* 11.32 */
  text-align:center;
  text-decoration:none;
  font-variant-numeric:lining-nums tabular-nums;
  transition:background-color var(--st-t) var(--st-ease), border-color var(--st-t) var(--st-ease), color var(--st-t) var(--st-ease);
}
/* hover */
.page-id-1511 div.ui-datepicker td a.ui-state-hover,
.page-id-1511 div.ui-datepicker td a:hover{
  background:var(--st-wash);
  border-color:var(--st-brass-ink);           /* 6.21:1 on the wash; #a58c55
                                                 was 2.80 */
  color:var(--st-ink);                        /* 9.79 */
}
/* today: brass-ink numeral and an inset brass rule — never a fill */
.page-id-1511 div.ui-datepicker td a.ui-state-highlight,
.page-id-1511 div.ui-datepicker td.ui-datepicker-today a{
  color:var(--st-brass-ink);                  /* 7.19 */
  font-weight:700;
  box-shadow:inset 0 -3px 0 var(--st-brass-ink);
}
/* chosen: filled green, cream ink */
.page-id-1511 div.ui-datepicker td a.ui-state-active,
.page-id-1511 div.ui-datepicker td.ui-datepicker-current-day a{
  background:var(--st-band);
  border-color:var(--st-band);
  color:var(--st-cream-ink);                  /* 9.72 */
  font-weight:700;
  box-shadow:none;
}
.page-id-1511 div.ui-datepicker td a:focus-visible{
  outline:2px solid var(--st-ink);
  outline-offset:-3px;
}
.page-id-1511 div.ui-datepicker td a.ui-state-active:focus-visible{ outline-color:var(--st-ring); }
/* days before today (minDate 0): present, legible, unmistakably unavailable.
   The .35 is on the CELL in jquery-ui.css (L10). */
.page-id-1511 div.ui-datepicker td.ui-state-disabled,
.page-id-1511 div.ui-datepicker td.ui-datepicker-unselectable{ opacity:1; }
.page-id-1511 div.ui-datepicker td.ui-state-disabled span,
.page-id-1511 div.ui-datepicker td.ui-datepicker-unselectable span{
  color:var(--st-dim);                        /* 4.68 on white */
  font-weight:500;
  background:#ffffff;
  text-decoration:line-through;
  text-decoration-thickness:1px;
  text-decoration-color:rgba(111,118,108,.7);
  opacity:1;
  cursor:default;
}
.page-id-1511 div.ui-datepicker td.ui-datepicker-other-month span,
.page-id-1511 div.ui-datepicker td.ui-datepicker-other-month a{ color:transparent; text-decoration:none; }
.page-id-1511 div.ui-datepicker .ui-datepicker-buttonpane{ margin:0; padding:8px; border-top:1px solid var(--st-rule); }


/* ==========================================================================
   §11  THE MAP — on paper, under a brass pin
   --------------------------------------------------------------------------
   The iframe carries an inline style="border:0", so its frame is a
   box-shadow (which inline styles never set): a 1px brass-ink edge and a
   3px cap, the plate's own edge. Above it a pin and a rule — a MARK, no
   words (words belong in the template; the iframe's empty title is the
   open SC 4.1.2 defect, flagged in the header).
   ========================================================================== */
.page-id-1511 .shortstay_gmap{
  padding:40px 0 44px;
  background-color:var(--st-paper);
  background-image:var(--st-grain);
  /* no hairline of its own: contact-lux's band above closes on its own
     rgba(74,58,22,.35) edge, and two lines 1px apart read as a smudge */
}
.page-id-1511 .shortstay_gmap.mb-3{ margin-bottom:0 !important; }   /* Bootstrap's flag, answered */
.page-id-1511 .shortstay_gmap .container::before{
  content:"";
  display:block;
  width:100%;
  height:30px;
  margin:0 0 22px;
  background-image:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='30' viewBox='0 0 22 30'%3E%3Cpath d='M11 1.5c-5 0-9 3.9-9 8.8 0 6.6 9 18.2 9 18.2s9-11.6 9-18.2c0-4.9-4-8.8-9-8.8z' fill='%23faf7ef' stroke='%236b5426' stroke-width='1.6' stroke-linejoin='round'/%3E%3Ccircle cx='11' cy='10.3' r='3.2' fill='%236b5426'/%3E%3C/svg%3E"),
    linear-gradient(90deg, rgba(107,84,38,0) 0%, rgba(107,84,38,.7) 22%, rgba(107,84,38,.7) 78%, rgba(107,84,38,0) 100%);
  background-repeat:no-repeat, no-repeat;
  background-position:center top, center 15px;
  background-size:22px 30px, min(100%, 420px) 1px;
}
.page-id-1511 .shortstay_gmap iframe{
  display:block;
  width:100%;
  height:300px;                               /* responsive.css:891 says 300 under 480, style.css:3622 says 450 */
  margin:0;
  background-color:#e6e3d9;
  box-shadow:0 -3px 0 0 var(--st-brass-ink), 0 0 0 1px var(--st-brass-ink);
}
.page-id-1511 .shortstay_gmap iframe:focus-visible{
  outline:3px solid var(--st-brass-ink);
  outline-offset:4px;
}


/* ==========================================================================
   §12  THE GREEN ROOM — the gallery, the page's one dark moment  (L12)
   --------------------------------------------------------------------------
   The house deep green (home-lux.css:2908, verbatim) and on it four prints
   on flat cream mats: two across from 576 at every width, a numbered
   Fraunces italic caption on each mat, the theme's hover mechanism kept but
   re-dressed and fired on keyboard focus too. The photographs are 4:3 at
   source (1280 × 960), so the 4:3 frame crops nothing.
   ========================================================================== */
.page-id-1511 .shortstay_gmap + .sectiongap{
  position:relative;
  padding:52px 0 56px;
  background-color:#2b3f2f;
  background-image:var(--st-grain-night), var(--st-sheen);
  border-top:1px solid var(--st-hair);
  border-bottom:1px solid var(--st-hair);
}
/* L12 — the empty h2 leaves no hole */
.page-id-1511 .shortstay_gmap + .sectiongap > .container > .section-title{ margin:0; }
.page-id-1511 .shortstay_gmap + .sectiongap > .container > .section-title h2:empty{ display:none; margin:0; }
@supports selector(:has(*)){
  .page-id-1511 .shortstay_gmap + .sectiongap > .container > .section-title:has(> h2:empty){ display:none; }
}
/* should the ACF heading ever be set, it arrives in cream Fraunces */
.page-id-1511 .shortstay_gmap + .sectiongap > .container > .section-title h2{
  margin:0 0 36px;
  font-family:var(--st-serif);
  font-optical-sizing:auto;
  font-size:clamp(28px, 3.2vw, 42px);
  font-weight:600;
  line-height:1.14;
  letter-spacing:-.012em;
  color:var(--st-cream-ink);                  /* 9.72 / 7.19 worst */
  text-align:center;
}
.page-id-1511 .shortstay_gmap + .sectiongap .section-gaping.gallery{ margin:0; padding:0; }
.page-id-1511 .shortstay_gmap + .sectiongap .section-gaping.gallery.mb-4{ margin-bottom:0 !important; }   /* Bootstrap's flag */

/* the ROW's own gutters (never the container's) and the print counter */
.page-id-1511 .shortstay_gmap + .sectiongap .gallery .row{
  counter-reset:st-print;
  --bs-gutter-x:16px;
  --bs-gutter-y:20px;
}
/* one-up, then two across from 576 (§16) — (0,5,0) over col-lg-3 (0,1,0).
   Each column is a flex column and the mat fills it, so two mats in a row
   end on one line even when one caption wraps. */
.page-id-1511 .shortstay_gmap + .sectiongap .gallery .row > [class*="col-"]{
  counter-increment:st-print;
  display:flex;
  flex-direction:column;
  flex:0 0 auto;
  width:100%;
  max-width:100%;
}
/* the four .wow.zoomIn prints arrive one after another (WOW writes no inline
   delay without data-wow-delay) */
.page-id-1511 .shortstay_gmap + .sectiongap .gallery .row > .wow:nth-child(2){ animation-delay:.08s; }
.page-id-1511 .shortstay_gmap + .sectiongap .gallery .row > .wow:nth-child(3){ animation-delay:.16s; }
.page-id-1511 .shortstay_gmap + .sectiongap .gallery .row > .wow:nth-child(4){ animation-delay:.24s; }

/* L6 — the empty fancybox anchors */
.page-id-1511 .shortstay_gmap + .sectiongap a.post-box:empty{ display:none; }
/* style.css:2347 pads every .post-box 15px at (0,1,0); responsive.css:883
   margins it under 480 at (0,2,0) */
.page-id-1511 .shortstay_gmap + .sectiongap a.post-box{
  display:flex;
  flex-direction:column;
  flex:1 1 auto;
  padding:0;
  margin:0;
  color:var(--st-ink);
  text-decoration:none;
}
.page-id-1511 .shortstay_gmap + .sectiongap a.post-box:focus-visible{
  outline:3px solid var(--st-ring);           /* 7.73 / 5.72 worst on the band */
  outline-offset:4px;
}

/* THE MAT — flat plate, brass edge, the caption written on the mat */
.page-id-1511 .shortstay_gmap + .sectiongap .photo-item{
  position:relative;
  display:flex;
  flex-direction:column;
  flex:1 1 auto;
  padding:10px 10px 0;
  background-color:var(--st-plate);
  background-image:none;
  border:1px solid var(--st-brass);           /* 5.49 / 4.06 worst */
  border-radius:0;
  box-shadow:0 30px 44px -30px rgba(0,0,0,.6);
  transition:border-color var(--st-t) var(--st-ease), box-shadow var(--st-t) var(--st-ease);
}
.page-id-1511 .shortstay_gmap + .sectiongap .photo-img{
  position:relative;
  overflow:hidden;
  display:block;
  min-height:0;
  aspect-ratio:4 / 3;
  border-radius:0;
  background-color:#1b2a1e;
  cursor:pointer;
  flex:0 0 auto;
}
.page-id-1511 .shortstay_gmap + .sectiongap .photo-img img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  border-radius:0;
  transform:scale(1);
  transition:transform .6s var(--st-ease);
}
/* THE OVERLAY. style.css:1716 scales a full-size layer from .5 and 0
   opacity on hover; kept as the mechanism, re-dressed: a green wash and a
   brass-ringed disc for the search-plus / play glyph. */
.page-id-1511 .shortstay_gmap + .sectiongap .photo-date{
  position:absolute;
  inset:0;
  z-index:2;
  width:100%;
  height:100%;
  display:flex;
  align-items:center;
  justify-content:center;
  background:rgba(34,51,31,.38);
  color:var(--st-cream-ink);
  opacity:0;
  transform:scale(1);
  transition:opacity .3s var(--st-ease);
}
.page-id-1511 .shortstay_gmap + .sectiongap .photo-icon{
  position:static;
  width:56px;
  height:56px;
  transform:none;
  display:flex;
  align-items:center;
  justify-content:center;
  background:var(--st-recess);
  border:1px solid var(--st-brass);           /* 6.52 */
  border-radius:50%;
  font-size:0;
  letter-spacing:0;
}
.page-id-1511 .shortstay_gmap + .sectiongap .photo-icon i{
  line-height:1;
  font-size:20px;
  color:var(--st-cream-ink);                  /* 11.54 on the disc */
}
.page-id-1511 .shortstay_gmap + .sectiongap .post-box:focus-visible .photo-date{
  opacity:1;
  transform:none;
  transition-delay:0s;
}
@media (hover:hover){
  /* :hover only where a pointer can hover: on touch a tapped print kept the
     overlay painted after fancybox closed */
  .page-id-1511 .shortstay_gmap + .sectiongap .post-box:hover .photo-date{
    opacity:1;
    transform:none;
    transition-delay:0s;
  }
}
/* the video variant the template can emit */
.page-id-1511 .shortstay_gmap + .sectiongap .video_thumb .photo-icon i.fa-play{ padding-left:3px; }
/* style.css:1693 scales the photograph 1.1 on :hover regardless of pointer,
   which sticks on a touch screen; neutralised here, re-armed at 1.04 inside
   (hover:hover) in §15 */
.page-id-1511 .shortstay_gmap + .sectiongap .post-box:hover .photo-img img{ transform:scale(1); }

/* THE CAPTION — .view_title. style.css:1775 is a 55px #4f6f52 flex bar at
   (0,2,0); responsive.css:892 re-heights it under 480. (0,5,0) here: a
   numeral, then Fraunces italic on the mat under a plate rule. */
.page-id-1511 .shortstay_gmap + .sectiongap .gallery .view_title{
  position:relative;
  display:block;
  left:auto;
  bottom:auto;
  width:auto;
  height:auto;
  margin:10px 0 0;
  padding:13px 4px 14px;
  background:transparent;
  box-shadow:none;
  border-radius:0;
  border-top:1px solid var(--st-rule-plate);  /* 3.13 on the mat */
  flex:1 1 auto;                              /* the caption box takes the mat's slack; its text stays at the top */
  font-family:var(--st-serif);
  font-optical-sizing:auto;
  font-style:italic;
  font-size:18px;
  font-weight:500;
  line-height:1.3;
  letter-spacing:.002em;
  color:var(--st-ink);                        /* 10.95 on the mat */
  text-align:left;
  justify-content:flex-start;
}
.page-id-1511 .shortstay_gmap + .sectiongap .gallery .view_title::before{
  content:counter(st-print, decimal-leading-zero);
  display:inline-block;
  margin:0 12px 0 0;
  vertical-align:2px;
  font-family:var(--st-sans);
  font-style:normal;
  font-size:11px;
  font-weight:700;
  letter-spacing:.14em;
  color:var(--st-brass-ink);                  /* 6.95 on the mat */
  font-variant-numeric:lining-nums tabular-nums;
}


/* ==========================================================================
   §13  FANCYBOX — the lightbox the prints open into, in the same room
   --------------------------------------------------------------------------
   The container is appended to <body>, so .page-id-1511 reaches it. The
   ground goes deep green, the coral progress bar and thumb ring go brass,
   the caption is set in the print's own face.
   ========================================================================== */
.page-id-1511 .fancybox-bg{ background:#1b2a1e; }
.page-id-1511 .fancybox-is-open .fancybox-bg{ opacity:.96; }
.page-id-1511 .fancybox-caption{
  font-family:var(--st-serif);
  font-optical-sizing:auto;
  font-style:italic;
  font-size:18px;
  font-weight:500;
  line-height:1.4;
  color:var(--st-cream-ink);                  /* 12.91 */
}
.page-id-1511 .fancybox-progress{ background:var(--st-brass); }
.page-id-1511 .fancybox-thumbs{ background:var(--st-recess); }
.page-id-1511 .fancybox-thumbs__list a:before{ border-color:var(--st-brass); }
.page-id-1511 .fancybox-button{ background:rgba(27,42,30,.72); color:var(--st-cream-quiet); }
.page-id-1511 .fancybox-button:hover{ color:var(--st-cream-ink); }
.page-id-1511 .fancybox-button.fancybox-focus{ outline:2px solid var(--st-ring); outline-offset:-4px; }


/* ==========================================================================
   §14  THE STORIES — .shortstay_blog on paper, two postcards  (L13)
   --------------------------------------------------------------------------
   Paper again, so the run closes on the material it opened with and
   footer-lux's green band is not doubled. Each card is a postcard: the
   photograph edge to edge on top, then a flat cream body with the meta row
   between two plate rules, a Fraunces title, the excerpt, and Read More as
   a brass-ink line with an arrow. The empty .layer div is removed from
   layout. The row is an auto-fit grid (L13). The section has no `.blog`
   class, so style.css:1291–1363 never reach these cards; what is undone
   here is Bootstrap's .card, style.css:107's #cbb279 h5, :1365–1387's
   .post-date / .datevew and :422–444's .btn-primary flags.
   ========================================================================== */
.page-id-1511 .shortstay_blog{
  position:relative;
  padding:52px 0 56px;
  background-color:var(--st-paper);
  background-image:var(--st-grain);
  overflow:hidden;
  overflow:clip;                              /* L8 — contains slideInUp */
}
.page-id-1511 .shortstay_blog .section-title{ margin:0 0 34px; padding:0; }
.page-id-1511 .shortstay_blog .section-title h2{
  margin:0;
  font-family:var(--st-serif);
  font-optical-sizing:auto;
  font-size:clamp(28px, 3.2vw, 42px);
  font-weight:600;
  line-height:1.14;
  letter-spacing:-.012em;
  color:var(--st-ink);                        /* 10.58 / 9.68 worst */
  text-align:center;
  text-wrap:balance;
}
/* the house section mark — used once in the run, at its close */
.page-id-1511 .shortstay_blog .section-title h2::after{
  content:"";
  display:block;
  width:170px;
  height:9px;
  margin:22px auto 0;
  background-image:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='17' height='9'%3E%3Crect width='17' height='9' fill='%23faf7ef'/%3E%3Cpath d='M8.5 1.2L11.8 4.5 8.5 7.8 5.2 4.5z' fill='%236b5426'/%3E%3C/svg%3E"),
    linear-gradient(90deg, rgba(107,84,38,0) 0%, rgba(107,84,38,.5) 24%, rgba(107,84,38,.5) 76%, rgba(107,84,38,0) 100%);
  background-repeat:no-repeat, no-repeat;
  background-position:center center, center center;
  background-size:17px 9px, 100% 1px;
}

/* L13 — the row */
.page-id-1511 .shortstay_blog .row{
  --bs-gutter-x:0;
  --bs-gutter-y:0;
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(min(280px, 100%), 1fr));
  gap:28px 32px;
  max-width:1000px;                           /* 3 x 280 + 2 x 36 = 912 fits
                                                 from 992 up, so a third
                                                 story takes a third track */
  margin:0 auto;
  justify-content:center;
}
.page-id-1511 .shortstay_blog .row > [class*="col-"]{
  display:flex;
  flex:none;
  width:auto;
  max-width:none;
  min-width:0;
  margin:0;
  padding:0;
}
.page-id-1511 .shortstay_blog .row > [class*="col-"].mb-2{ margin-bottom:0 !important; }   /* Bootstrap's flag */

/* THE POSTCARD — Bootstrap's .card (rgba border, 4px radius) undone */
.page-id-1511 .shortstay_blog .card{
  position:relative;
  display:flex;
  flex-direction:column;
  width:100%;
  margin:0;
  padding:0;
  overflow:hidden;
  background-color:var(--st-plate);
  background-image:none;
  border:1px solid var(--st-edge-paper);      /* 3.37 / 3.21 worst */
  border-radius:0;
  box-shadow:0 30px 40px -34px rgba(43,63,47,.45);
  text-align:left;
  transition:transform var(--st-t) var(--st-ease), box-shadow var(--st-t) var(--st-ease);
}
.page-id-1511 .shortstay_blog .card .layer{ display:none; }
.page-id-1511 .shortstay_blog .card .card-body{
  position:relative;
  flex:1 1 auto;
  padding:0 0 6px;
}
/* THE PHOTOGRAPH, dominant: edge to edge, 3:2, the two thumbnails brought
   to one shape */
.page-id-1511 .shortstay_blog .card .card-body > a{
  display:block;
  position:relative;
  overflow:hidden;
  background-color:#1b2a1e;
  border-bottom:1px solid var(--st-rule-plate);
}
/* The ring is a POSITIONED PSEUDO-ELEMENT, not an outline. The photograph
   carries transform:scale(1) at rest, which makes it a stacking context that
   paints OVER the anchor's inset outline -- pixel-sampled: an outline at
   offset -4px never appeared; a positive offset is clipped by
   .card{overflow:hidden}. Two-tone (brass ink + a plate halo, 6.95:1 between
   them) so it reads over any photograph. */
.page-id-1511 .shortstay_blog .card .card-body > a:focus-visible{ outline:0; }
.page-id-1511 .shortstay_blog .card .card-body > a:focus-visible::after{
  content:"";
  position:absolute;
  inset:4px;
  z-index:1;
  border:2px solid var(--st-brass-ink);
  box-shadow:0 0 0 2px #fdfbf6;
  pointer-events:none;
}
.page-id-1511 .shortstay_blog .card img.card-img-top{
  display:block;
  width:100%;
  height:auto;
  aspect-ratio:3 / 2;
  object-fit:cover;
  border-radius:0;
  transform:scale(1);
  transition:transform .6s var(--st-ease);
}
/* THE META ROW — style.css:1380 rules it in #ece3ce (banned) at (0,1,0) */
.page-id-1511 .shortstay_blog .card .datevew{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:6px 18px;
  margin:18px 22px 14px;
  padding:9px 0;
  border-top:1px solid var(--st-rule-plate);  /* 3.13 on the plate */
  border-bottom:1px solid var(--st-rule-plate);
  border-radius:0;
  color:var(--st-quiet);
}
.page-id-1511 .shortstay_blog .card .post-date{
  display:inline-flex;
  align-items:center;
  gap:7px;
  margin:0;
  font-family:var(--st-sans);
  font-size:12.5px;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
  line-height:1.4;
  color:var(--st-quiet);                      /* 6.03 on the plate */
  font-variant-numeric:lining-nums tabular-nums;
}
.page-id-1511 .shortstay_blog .card .post-date i{
  font-size:12px;
  color:var(--st-brass-ink);                  /* 6.95 */
}
/* the category link: brass ink AND an underline at rest, so it is not the
   same as the date beside it (1.4.1) */
.page-id-1511 .shortstay_blog .card .post-date a{
  font-size:inherit;
  font-weight:inherit;
  color:var(--st-brass-ink);                  /* 6.95 */
  text-decoration:underline;
  text-decoration-thickness:1px;
  text-underline-offset:3px;
  text-decoration-color:var(--st-brass-ink);
  transition:color var(--st-t) var(--st-ease), text-decoration-color var(--st-t) var(--st-ease);
}
.page-id-1511 .shortstay_blog .card .post-date a:focus-visible{
  outline:2px solid var(--st-brass-ink);
  outline-offset:2px;
}
/* THE TITLE — style.css:107 says h5{color:#cbb279}: 1.93:1 on the live page.
   The link carries style="color:inherit", so the h5 carries the colour. */
.page-id-1511 .shortstay_blog .card h5{
  margin:0 22px 10px;
  font-family:var(--st-serif);
  font-optical-sizing:auto;
  font-size:clamp(20px, 1.9vw, 23px);
  font-weight:600;
  line-height:1.25;
  letter-spacing:-.008em;
  color:var(--st-ink);                        /* 10.95 */
  transition:color var(--st-t) var(--st-ease);
}
.page-id-1511 .shortstay_blog .card h5 a{
  color:inherit;
  text-decoration:none;
}
.page-id-1511 .shortstay_blog .card h5 a:focus-visible{
  outline:2px solid var(--st-brass-ink);
  outline-offset:3px;
}
.page-id-1511 .shortstay_blog .card .card-body p{
  margin:0 22px 6px;
  font-family:var(--st-sans);
  font-size:15.5px;
  line-height:1.6;
  color:var(--st-body);                       /* 10.07 */
}
/* READ MORE — a line, not a button. style.css:422–437 flags padding, a white
   border and white ink on .btn-primary, :444 flags the hover colour,
   Bootstrap flags .mt-2; answered in kind, once each. 44px tall by
   min-height. */
.page-id-1511 .shortstay_blog .card .card-footer{
  padding:4px 22px 18px;
  background:transparent;
  border:0;
}
.page-id-1511 .shortstay_blog .card .card-footer .btn.btn-primary{
  display:inline-flex;
  align-items:center;
  gap:10px;
  min-height:44px;
  margin:0 !important;
  padding:8px 0 !important;
  border:0 !important;
  border-radius:0;
  background:transparent;
  background-image:none;
  box-shadow:none;
  font-family:var(--st-sans);
  font-size:13.5px;
  font-weight:700;
  letter-spacing:.12em;
  text-transform:uppercase;
  line-height:1;
  color:var(--st-brass-ink) !important;       /* 6.95 */
  text-decoration:underline;
  text-decoration-thickness:1px;
  text-underline-offset:5px;
  text-decoration-color:var(--st-rule-plate);
  transition:color var(--st-t) var(--st-ease), text-decoration-color var(--st-t) var(--st-ease);
}
.page-id-1511 .shortstay_blog .card .card-footer .btn.btn-primary::after{
  content:"";
  width:18px;
  height:10px;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='10' viewBox='0 0 18 10'%3E%3Cpath fill='none' stroke='%236b5426' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round' d='M1 5h15M12 1l4 4-4 4'/%3E%3C/svg%3E") no-repeat center / 18px 10px;
  transition:transform var(--st-t) var(--st-ease);
}
.page-id-1511 .shortstay_blog .card .card-footer .btn.btn-primary:hover{
  background:transparent;
  color:var(--st-brass-ink) !important;
}
.page-id-1511 .shortstay_blog .card .card-footer .btn.btn-primary:focus-visible{
  outline:2px solid var(--st-brass-ink);
  outline-offset:3px;
}

/* VIEW MORE — the house pill (contact-lux's), the one filled control on the
   paper, centred under the postcards. The heading div also carries
   .text-center (L13). */
.page-id-1511 .shortstay_blog > .container > .text-center:not(.section-title){ margin-top:34px; padding:0; }
.page-id-1511 .shortstay_blog > .container > .text-center:not(.section-title) > .btn.btn-primary{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:200px;
  min-height:50px;
  margin:0 !important;
  padding:13px 34px !important;
  border:0 !important;
  border-radius:30px;
  color:var(--st-cream-ink) !important;       /* 8.81 */
  background-color:#2f4634;
  background-image:linear-gradient(0deg, #24331f, #24331f);
  background-size:100% 0;
  background-repeat:no-repeat;
  background-position:bottom;
  font-family:var(--st-sans);
  font-size:15px;
  font-weight:700;
  letter-spacing:.08em;
  line-height:1;
  box-shadow:0 8px 18px -10px rgba(36,51,31,.7);
  transition:background-size .45s var(--st-ease), box-shadow .3s ease;
}
.page-id-1511 .shortstay_blog > .container > .text-center:not(.section-title) > .btn.btn-primary:hover,
.page-id-1511 .shortstay_blog > .container > .text-center:not(.section-title) > .btn.btn-primary:focus{
  background-color:#2f4634;
  background-size:100% 100%;
  color:var(--st-cream-ink) !important;
  box-shadow:0 12px 22px -10px rgba(36,51,31,.8);
}
.page-id-1511 .shortstay_blog > .container > .text-center:not(.section-title) > .btn.btn-primary:focus-visible{
  outline:2px solid var(--st-brass-ink);
  outline-offset:3px;
}


/* ==========================================================================
   §15  HOVER — inside (hover:hover) only; focus states live above. Every
   hover state also changes a non-colour channel (rule weight, fill, scale,
   travel).
   ========================================================================== */
@media (hover:hover){
  /* the rate row: wash plus a darker rule — two channels */
  .page-id-1511 .new_stay .new_stay_left table tbody tr:hover td{
    background-color:var(--st-wash);
    border-top-color:var(--st-brass-ink);
  }
  .page-id-1511 .new_stay .new_stay_left table tbody tr:hover + tr td{ border-top-color:var(--st-brass-ink); }

  .page-id-1511 .new_stay .new_stay_left > p + h6 + ul > li:hover::before{
    transform:scale(1.14);
    color:var(--st-ink);
  }
  .page-id-1511 .new_stay .new_stay_left a:hover{
    color:var(--st-ink);                      /* 10.58 */
    text-decoration-thickness:2px;
    text-decoration-color:var(--st-ink);
  }
  /* the register cell washes and its chip inverts */
  .page-id-1511 .new_stay .new_stay_left > .new_stay_left_table + h6 + ul + h6 + ul > li:hover{
    background-color:rgba(203,178,121,.14);
  }
  .page-id-1511 .new_stay .new_stay_left > .new_stay_left_table + h6 + ul + h6 + ul > li:hover::before{
    background-color:var(--st-brass);
    color:var(--st-ink);                      /* 5.49 on the brass chip */
  }
  /* the film index — :not(.active) is load-bearing: .active and :hover weigh the same */
  .page-id-1511 .new_stay .longstay_video_carousel .owl-dots .owl-dot:not(.active):hover{
    background-color:rgba(203,178,121,.4);
    color:var(--st-cream-ink);                /* 11.54 */
    box-shadow:inset 0 -3px 0 var(--st-brass);/* a second channel */
  }
  /* the prints: the mat darkens its edge, the photograph eases 4% */
  .page-id-1511 .shortstay_gmap + .sectiongap .post-box:hover .photo-item{
    border-color:var(--st-ring);
    box-shadow:0 36px 48px -30px rgba(0,0,0,.7);
  }
  .page-id-1511 .shortstay_gmap + .sectiongap .post-box:hover .photo-img img{ transform:scale(1.04); }
  /* the postcards */
  .page-id-1511 .shortstay_blog .card:hover{
    transform:translateY(-3px);
    box-shadow:0 36px 44px -34px rgba(43,63,47,.55);
  }
  .page-id-1511 .shortstay_blog .card:hover img.card-img-top{ transform:scale(1.03); }
  .page-id-1511 .shortstay_blog .card h5:hover{ color:var(--st-brass-ink); }
  .page-id-1511 .shortstay_blog .card .post-date a:hover{
    color:var(--st-ink);
    text-decoration-color:var(--st-ink);
  }
  .page-id-1511 .shortstay_blog .card .card-footer .btn.btn-primary:hover{
    color:var(--st-ink) !important;           /* style.css:444 says #fff !important */
    text-decoration-color:var(--st-ink);
    background:transparent;
  }
  .page-id-1511 .shortstay_blog .card .card-footer .btn.btn-primary:hover::after{ transform:translateX(4px); }
}


/* ==========================================================================
   §16  BREAKPOINTS — every query min-width, ascending; no pairs
   ========================================================================== */

/* --- 390 : the rate figure grows once the well is 315px wide ------------ */
@media (min-width:390px){
  .page-id-1511 .new_stay .new_stay_left > .new_stay_left_table{ --st-pad:22px; }
  .page-id-1511 .new_stay .new_stay_left table tbody td:first-child{ font-size:17px; }
  .page-id-1511 .new_stay .new_stay_left table tbody td:last-child{ font-size:30px; }
}

/* --- 576 : two tiles of services, two prints across, larger figures ---- */
@media (min-width:576px){
  .page-id-1511 .new_stay{ padding:52px 0 60px; }
  .page-id-1511 .new_stay .new_stay_left > .new_stay_left_table{ --st-pad:26px; padding-top:24px; padding-bottom:22px; }
  .page-id-1511 .new_stay .new_stay_left table tbody td{ padding:15px 0 14px; }
  .page-id-1511 .new_stay .new_stay_left table tbody td:first-child{ font-size:18px; }
  .page-id-1511 .new_stay .new_stay_left table tbody td:last-child{ font-size:36px; }
  .page-id-1511 .new_stay .new_stay_left > .new_stay_left_table + h6 + ul + h6 + ul{
    grid-template-columns:repeat(2, minmax(0,1fr));
  }

  .page-id-1511 .shortstay_gmap{ padding:52px 0 56px; }
  .page-id-1511 .shortstay_gmap iframe{ height:380px; }

  .page-id-1511 .shortstay_gmap + .sectiongap{ padding:60px 0 64px; }
  .page-id-1511 .shortstay_gmap + .sectiongap .gallery .row{ --bs-gutter-x:20px; --bs-gutter-y:20px; }
  .page-id-1511 .shortstay_gmap + .sectiongap .photo-item{ padding:12px 12px 0; }
  .page-id-1511 .shortstay_gmap + .sectiongap .gallery .view_title{ font-size:17px; }

  .page-id-1511 .shortstay_blog{ padding:60px 0 64px; }
}

/* --- 768 : the feature list and the fine print go to two columns -------- */
@media (min-width:768px){
  /* two-up from 768 (312px prints), not 576 (222px prints -- smaller than a
     320 phone's) */
  .page-id-1511 .shortstay_gmap + .sectiongap .gallery .row > [class*="col-"]{ width:50%; }
  .page-id-1511 .new_stay{ padding:56px 0 64px; }
  .page-id-1511 .new_stay .new_stay_left > p{ font-size:17.5px; }
  .page-id-1511 .new_stay .new_stay_left > p + h6 + ul{ grid-template-columns:repeat(2, minmax(0,1fr)); }
  .page-id-1511 .new_stay .new_stay_left > .new_stay_left_table{ --st-pad:32px; padding-top:26px; padding-bottom:24px; }
  .page-id-1511 .new_stay .new_stay_left table tbody td{ padding:16px 0 15px; }
  .page-id-1511 .new_stay .new_stay_left table tbody td:last-child{ font-size:40px; }
  .page-id-1511 .new_stay .new_stay_left > .new_stay_left_table + h6 + ul{ grid-template-columns:repeat(2, minmax(0,1fr)); }

  .page-id-1511 .shortstay_gmap iframe{ height:420px; }
  .page-id-1511 .shortstay_gmap + .sectiongap{ padding:64px 0 68px; }
  .page-id-1511 .shortstay_blog{ padding:64px 0 68px; }
  .page-id-1511 .shortstay_blog .section-title{ margin-bottom:38px; }
}

/* --- 992 : the columns split 7/5, the screen sticks ----------------------- */
@media (min-width:992px){
  .page-id-1511 .new_stay{ padding:64px 0 72px; }

  /* L3 — second half, the same (0,4,0), later in source. 7/5 rather than
     the template's 8/4: the films carry this page, so the screen takes a
     fifth more width and the reading keeps a 68ch measure inside ~530px. */
  .page-id-1511 .new_stay .row > .col-lg-8{ width:58.3333333333%; }
  .page-id-1511 .new_stay .row > .col-lg-4{ width:41.6666666667%; order:0; }
  /* air between the reading and the recess, beyond the 24px gutter */
  .page-id-1511 .new_stay .new_stay_left{ padding-right:20px; }

  .page-id-1511 .new_stay .new_stay_left > .new_stay_left_table{ --st-pad:34px; padding-top:28px; padding-bottom:26px; }
  .page-id-1511 .new_stay .new_stay_left table tbody td:last-child{ font-size:42px; }

  .page-id-1511 .new_stay .new_stay_right{ max-width:none; margin:0; }
  /* L9 — --jd-h-total is header-lux's un-condensed header (30+70+46) */
  .page-id-1511 .new_stay .new_stay_right.sticky_div{
    position:sticky;
    top:calc(var(--jd-h-total, 146px) + 18px);
  }

  .page-id-1511 .shortstay_gmap{ padding:52px 0 56px; }
  .page-id-1511 .shortstay_gmap iframe{ height:450px; }

  .page-id-1511 .shortstay_gmap + .sectiongap{ padding:68px 0 72px; }
  .page-id-1511 .shortstay_gmap + .sectiongap .gallery .row{ --bs-gutter-x:24px; --bs-gutter-y:24px; }   /* never wider than the container's 2x12 padding */
  .page-id-1511 .shortstay_gmap + .sectiongap .gallery .view_title{ font-size:18px; }

  .page-id-1511 .shortstay_blog{ padding:68px 0 72px; }
  .page-id-1511 .shortstay_blog .row{ gap:32px 36px; }
}

/* L9 — header-lux.js adds .jd-scrolled once y > 96 and the fixed header
   condenses to 56px + nav; track it so the screen does not float 62px under
   the bar for the whole scroll */
@supports selector(:has(*)){
  @media (min-width:992px){
    body.page-id-1511:has(.jd-header.jd-scrolled) .new_stay .new_stay_right.sticky_div{
      top:calc(56px + var(--jd-h-nav, 46px) + 18px);
    }
  }
}

/* --- 1200 : desktop sizes ------------------------------------------------ */
@media (min-width:1200px){
  .page-id-1511 .new_stay{ padding:72px 0 80px; }
  .page-id-1511 .new_stay .new_stay_left{ padding-right:32px; }
  .page-id-1511 .new_stay .new_stay_left > .new_stay_left_table{ --st-pad:40px; padding-top:30px; padding-bottom:28px; }
  .page-id-1511 .new_stay .new_stay_left table tbody td{ padding:18px 0 17px; }
  .page-id-1511 .new_stay .new_stay_left table tbody td:first-child{ font-size:19px; }
  .page-id-1511 .new_stay .new_stay_left table tbody td:last-child{ font-size:46px; }

  /* the room is capped so two prints read as a wall, not a billboard:
     ~438 x 329 prints at 1280 (the sources are 1280 x 960). The one-line
     retreat if the client wants ~450px of desktop scroll back is
     `width:25%` on the columns here (a 4-up filmstrip). */
  .page-id-1511 .shortstay_gmap + .sectiongap .section-gaping.gallery{ max-width:960px; margin:0 auto; }
  .page-id-1511 .shortstay_gmap + .sectiongap .photo-item{ padding:14px 14px 0; }
  .page-id-1511 .shortstay_gmap + .sectiongap .gallery .view_title{ font-size:20px; padding:15px 6px 16px; }
  .page-id-1511 .shortstay_blog .row{ max-width:1000px; }
}


/* ==========================================================================
   §17  prefers-reduced-motion — L4, both flags; states kept, motion removed
   ========================================================================== */
@media (prefers-reduced-motion:reduce){
  .page-id-1511 .stay_banner_strip *, .page-id-1511 .stay_banner_strip *::before, .page-id-1511 .stay_banner_strip *::after,
  .page-id-1511 .new_stay *,          .page-id-1511 .new_stay *::before,          .page-id-1511 .new_stay *::after,
  .page-id-1511 #contact *,           .page-id-1511 #contact *::before,           .page-id-1511 #contact *::after,
  .page-id-1511 .shortstay_gmap *,    .page-id-1511 .shortstay_gmap *::before,
  .page-id-1511 .shortstay_gmap + .sectiongap *, .page-id-1511 .shortstay_gmap + .sectiongap *::before,
  .page-id-1511 .shortstay_blog *,    .page-id-1511 .shortstay_blog *::before,    .page-id-1511 .shortstay_blog *::after,
  .page-id-1511 div.ui-datepicker *,
  .page-id-1511 .fancybox-container *{
    transition:none !important;
    animation-duration:1ms !important;
    animation-iteration-count:1 !important;
    scroll-behavior:auto !important;
  }
  .page-id-1511 .wow{
    visibility:visible !important;
    animation:none !important;
    opacity:1 !important;
    transform:none !important;
  }
  .page-id-1511 .new_stay .longstay_video_carousel .owl-stage{ transition:none !important; }
  .page-id-1511 .new_stay .new_stay_left > p + h6 + ul > li:hover::before{ transform:none; }
  .page-id-1511 .shortstay_gmap + .sectiongap .post-box:hover .photo-img img{ transform:none; }
  .page-id-1511 .shortstay_gmap + .sectiongap .photo-date{ transform:none; }
  .page-id-1511 .shortstay_blog .card:hover{ transform:none; }
  .page-id-1511 .shortstay_blog .card:hover img.card-img-top{ transform:none; }
  .page-id-1511 .shortstay_blog .card .card-footer .btn.btn-primary:hover::after{ transform:none; }
}


/* ==========================================================================
   §18  forced-colors — the plates, rules, mounts and chips are backgrounds
   and hairlines, which forced colours discards; they come back as CanvasText
   ========================================================================== */
@media (forced-colors:active){
  .page-id-1511 .shortstay_blog .card .card-body > a:focus-visible::after{ border-color:CanvasText; box-shadow:none; }
  .page-id-1511 .new_stay .new_stay_left > .new_stay_left_table,
  .page-id-1511 .new_stay .new_stay_right_slider,
  .page-id-1511 .shortstay_gmap iframe,
  .page-id-1511 .shortstay_gmap + .sectiongap .photo-item,
  .page-id-1511 .shortstay_blog .card,
  .page-id-1511 .shortstay_blog .card .card-body > a,
  .page-id-1511 div.ui-datepicker,
  .page-id-1511 div.ui-datepicker .ui-datepicker-title select{ border:1px solid CanvasText; box-shadow:none; }
  .page-id-1511 .new_stay .new_stay_left table thead th,
  .page-id-1511 .new_stay .new_stay_left table tbody td{ border:1px solid CanvasText; }
  .page-id-1511 .new_stay .new_stay_left > p + h6 + ul > li,
  .page-id-1511 .new_stay .new_stay_left > .new_stay_left_table + h6 + ul + h6 + ul > li{ border-color:CanvasText; }
  .page-id-1511 .new_stay .new_stay_left > .new_stay_left_table + h6 + ul + h6 + ul > li::before{ border:1px solid CanvasText; }
  .page-id-1511 .new_stay .longstay_video_carousel .owl-dots .owl-dot{ border:1px solid CanvasText; }
  .page-id-1511 .new_stay .longstay_video_carousel .owl-dots .owl-dot.active,
  .page-id-1511 div.ui-datepicker td a.ui-state-active{
    forced-color-adjust:none;
    background-color:Highlight;
    color:HighlightText;
  }
  .page-id-1511 div.ui-datepicker .ui-datepicker-header{ border-bottom:1px solid CanvasText; }
  .page-id-1511 .shortstay_gmap + .sectiongap .photo-date{ background:Canvas; }
  .page-id-1511 .shortstay_gmap + .sectiongap .gallery .view_title,
  .page-id-1511 .shortstay_blog .card .datevew{ border-color:CanvasText; }
  .page-id-1511 .shortstay_blog .card .card-footer .btn.btn-primary,
  .page-id-1511 .shortstay_blog > .container > .text-center:not(.section-title) > .btn.btn-primary,
  .page-id-1511 #contact .wpcf7-submit{ border:1px solid ButtonText !important; }
  .page-id-1511 .new_stay .new_stay_left > p:first-child::before,
  .page-id-1511 .shortstay_gmap .container::before,
  .page-id-1511 .shortstay_blog .section-title h2::after{ background:CanvasText; background-image:none; }
}


/* ==========================================================================
   §19  print — a family will print the rate and the terms. The grain, the
   screen, the map, the datepicker and the buttons are cost and no benefit.
   ========================================================================== */
@media print{
  .page-id-1511 .new_stay,
  .page-id-1511 #contact,
  .page-id-1511 .shortstay_gmap,
  .page-id-1511 .shortstay_gmap + .sectiongap,
  .page-id-1511 .shortstay_blog{
    background-color:#fff !important;
    background-image:none !important;
    border-color:#000 !important;
    box-shadow:none !important;
    padding:0 0 16pt !important;
  }
  .page-id-1511 .new_stay .row > .col-lg-4{ order:0; }
  .page-id-1511 .new_stay .new_stay_left > .new_stay_left_table{
    order:0;                                  /* back to DOM order on paper */
    max-width:none;
    margin:14pt 0 12pt;
    background:#fff !important;
    border:1pt solid #000;
    -moz-column-break-inside:avoid;
         break-inside:avoid;
  }
  .page-id-1511 .new_stay .new_stay_left > p,
  .page-id-1511 .new_stay .new_stay_left > p:first-child,
  .page-id-1511 .new_stay .new_stay_left h3,
  .page-id-1511 .new_stay .new_stay_left h6,
  .page-id-1511 .new_stay .new_stay_left li,
  .page-id-1511 .new_stay .new_stay_left li::before,
  .page-id-1511 .new_stay .new_stay_left thead th,
  .page-id-1511 .new_stay .new_stay_left tbody td,
  .page-id-1511 .new_stay .new_stay_left > .new_stay_left_table > p,
  .page-id-1511 .new_stay .new_stay_left a,
  .page-id-1511 .shortstay_gmap + .sectiongap .gallery .view_title,
  .page-id-1511 .shortstay_blog .section-title h2,
  .page-id-1511 .shortstay_blog .card h5,
  .page-id-1511 .shortstay_blog .card .post-date,
  .page-id-1511 .shortstay_blog .card .card-body p{ color:#000; }
  .page-id-1511 .new_stay .new_stay_left > p:first-child::before,
  .page-id-1511 .new_stay .new_stay_left > .new_stay_left_table + h6,
  .page-id-1511 .new_stay .new_stay_left table thead th,
  .page-id-1511 .new_stay .new_stay_left table tbody td,
  .page-id-1511 .new_stay .new_stay_left > p + h6 + ul,
  .page-id-1511 .new_stay .new_stay_left > p + h6 + ul > li,
  .page-id-1511 .new_stay .new_stay_left > .new_stay_left_table + h6 + ul,
  .page-id-1511 .new_stay .new_stay_left > .new_stay_left_table + h6 + ul + h6 + ul,
  .page-id-1511 .new_stay .new_stay_left > .new_stay_left_table + h6 + ul + h6 + ul > li{ border-color:#000; background:#fff; }
  .page-id-1511 .new_stay .new_stay_left > .new_stay_left_table + h6 + ul + h6 + ul > li::before{ background:#fff; color:#000; border-color:#000; }
  .page-id-1511 .new_stay .row > .col-lg-4,
  .page-id-1511 .shortstay_gmap,
  .page-id-1511 div.ui-datepicker,
  .page-id-1511 .shortstay_gmap + .sectiongap .photo-date,
  .page-id-1511 .shortstay_blog > .container > .text-center:not(.section-title),
  .page-id-1511 .shortstay_blog .card .card-footer{ display:none !important; }
  .page-id-1511 .shortstay_gmap + .sectiongap .photo-item,
  .page-id-1511 .shortstay_blog .card{ border:1pt solid #000; box-shadow:none; break-inside:avoid; }
  .page-id-1511 .shortstay_gmap + .sectiongap .gallery .row > [class*="col-"]{ width:50%; }
  .page-id-1511 .shortstay_blog .row{ display:block; max-width:none; }
  .page-id-1511 .shortstay_blog .row > [class*="col-"]{ display:block; margin-bottom:12pt; }
  .page-id-1511 .wow{ visibility:visible !important; animation:none !important; }
}


/* ===== JD SERVICES SECTION (panel FINAL) — START ===== */
/* ==========================================================================
   §7b  THE SEALED LEDGER — "Services:" + eight ruled rows       2026-09-15
   --------------------------------------------------------------------------
   The panel's final section. The Ruled Ledger's chassis — one ruled column
   at every width, the Terms head's twin, the row-owned view timeline, the
   Plates' entry-based fail-visible entrance — carrying the Medallion's
   mark without its bezel: a 44px round SEAL (48 from 1200), a faint outer
   rim, a ring of paper, a brass-ink ring, the flat plate face, the line
   icon in brass ink at 26px (28 from 1244). Hover and press make the seal the
   gallery's own disc (§12: the recess green under a brass ring, the glyph
   in brass) and frame the row with its two rules, as the rate row does
   (§15). Nothing lifts, spins or casts; the seal is the only radius.

   L40 EVERY SELECTOR IS `.page-id-1511 .new_stay .jd-services …` (0,4,0)+
       over §3's `.new_stay_left h6` (0,3,1: Fraunces on every h6),
       style.css:3392/3398, :482–:501 (.tick ul / li) and Bootstrap's
       `ul{padding-left:2rem}` / `svg{vertical-align:middle}`.
   L41 `.jd-svc::before{content:none}` IS LOAD-BEARING: style.css:501's FA
       check-circle would be a third grid item. The rule is `::after`.
   L42 THE ROW RULE IS `::after` AT top:0, NOT A BORDER: the entrance draws
       it (scaleX) and the hover recolours it, without reflow; at the top
       it enters the fold first, so it can lead. The list closes on its own
       solid border, as the Terms list does.
   L43 THE SEAL IS ALL INSIDE ITS BOX — no overhang, no row inset: the box
       border is the rim (--st-item-hair, decorative); `::before` at inset
       2px is the ring (--st-rule, 3.41 on the worst grain) and the face;
       the svg is position:relative so it paints over the pseudo.
   L44 #cbb279 TOUCHES ONLY THE GREEN (stay-lux L11): the brass ring and
       glyph appear on the filled face alone. At rest the glyph is brass
       INK — the eyebrow's, the numerals', the rules' one pigment.
   L45 THE ROW OWNS THE TIMELINE (`view-timeline:--jd-svc-row`): rule, seal
       and words read the ROW's entry; an anonymous view() on the 1px
       pseudo would take its own box as subject.
   L46 RANGES ARE `entry 0% → entry 100%`, fill-mode NONE: the reveal is
       over once the row is wholly inside the fold, and outside the range
       — or with no timeline at all — a row stands at its natural styles.
       The stagger is in the keyframes (rule 0–50%, seal 10–60%, words
       20–70%): a scroll timeline ignores delays. `animation-timeline` is
       written AFTER the shorthand, which resets it.
   L47 REDUCED MOTION KILLS animation-name: §17's `animation-duration:1ms`
       is normalised to 100% of a scroll timeline and stops nothing.
   L48 `:hover` and `:hover + .jd-svc` (the next row's rule is this row's
       foot) live INSIDE (hover:hover); `:active` and `:active + .jd-svc`
       outside it are the touch state. Nothing here is focusable.
   L49 The svg is sized by CSS (beats width="24" height="24"); stroke 1.6
       in viewBox units renders 1.73px at 26, 1.87px at 28. Never below
       22px / 1.5px: the icons are meaning.
   L50 `.jd-svc-text{display:block;min-width:0}`: an inline span in a grid
       cell cannot shrink below its longest word (overflow at 320).
   L51 Print blacks the head and the sentence HERE: these (0,4,0) rules beat
       §19's `.new_stay_left h6 / li` blacks.

   CONTRAST — against the paper's worst grained pixel #f5f1e8 [flat #faf7ef]
     sentence #3a4238 9.24 [9.73] PASS 4.5 · hovered #2b3f2f 10.04 PASS 4.5
     eyebrow #6b5426 6.38 [6.71] PASS 4.5 · head rule, closing rule and
       framing rules #6b5426 6.38 PASS 3
     glyph #6b5426 on the face #fdfbf6 6.95 PASS 3 (and 4.5)
     ring #6b5426 solid 6.38 [6.71], 6.95 from the face PASS 3 (was the .72
       alpha: 3.28 nominal over its own plate face and, antialiased on a
       1px circle at 1x, under 3:1 along most of the circumference)
     rim rgba(107,84,38,.32) 1.64 decorative · row rule rgba(107,84,38,.55)
       2.43 separator (the ring carries the mark; the ledger closes solid)
     hover / press: face #22331f as an area 11.93 [12.56] PASS 3; glyph and
       ring #cbb279 on it 6.52 PASS 3; rim .72 = 3.41 PASS 3
   ========================================================================== */

/* THE BLOCK — carries the 40px the Terms list leaves open (§3 audit); the
   stepped values live here, one line per tier below */
.page-id-1511 .new_stay .jd-services{
  --sv-tile:44px;
  --sv-icon:26px;
  --sv-gap:14px;
  --sv-pad:10px;
  margin:40px 0 0;
  padding:0;
  min-width:0;
}

/* THE HEAD — the Terms head's twin, on the class instead of the adjacency */
.page-id-1511 .new_stay .jd-services > .jd-services-title{
  max-width:none;
  margin:0;
  padding:14px 0 0;
  border-top:2px solid var(--st-brass-ink);
  font-family:var(--st-sans);
  font-size:12.5px;
  font-weight:700;
  letter-spacing:.2em;
  text-transform:uppercase;
  line-height:1.5;
  color:var(--st-brass-ink);                  /* 6.38 worst */
  text-wrap:wrap;
}
.page-id-1511 .new_stay .jd-services > .jd-services-title strong{ font-weight:inherit; }

/* THE LEDGER — one column, always; closes on a solid rule like the Terms */
.page-id-1511 .new_stay .jd-services > .jd-services-list{
  display:block;
  margin:0;
  padding:8px 0 0;
  border-bottom:1px solid var(--st-brass-ink);
  list-style:none;
  font-size:16px;
}

/* THE ROW — seal | sentence; the rule above is ::after (L41, L42) */
.page-id-1511 .new_stay .jd-services .jd-svc{
  position:relative;
  display:grid;
  grid-template-columns:var(--sv-tile) minmax(0,1fr);
  align-items:start;
  gap:0 var(--sv-gap);
  margin:0;
  padding:var(--sv-pad) 0;
  list-style:none;
  font-family:var(--st-sans);
  font-size:16px;
  line-height:1.5;
  color:var(--st-body);
}
.page-id-1511 .new_stay .jd-services .jd-svc::before{ content:none; }
.page-id-1511 .new_stay .jd-services .jd-svc::after{
  content:"";
  position:absolute;
  top:0;
  left:0;
  right:0;
  height:1px;
  background-color:rgba(107,84,38,.55);
  transform-origin:0 50%;
  transition:background-color var(--st-t) var(--st-ease);
}

/* THE SEAL — rim, ring, face (L43); the glyph in brass ink (L44) */
.page-id-1511 .new_stay .jd-services .jd-svc-icon{
  position:relative;
  box-sizing:border-box;
  display:flex;
  align-items:center;
  justify-content:center;
  width:var(--sv-tile);
  height:var(--sv-tile);
  margin:0;
  padding:0;
  border:1px solid var(--st-item-hair);       /* the rim: decorative */
  border-radius:50%;
  background:transparent;
  color:var(--st-brass-ink);                  /* the glyph: 6.95 on the face */
  transition:border-color var(--st-t) var(--st-ease), color var(--st-t) var(--st-ease);
}
.page-id-1511 .new_stay .jd-services .jd-svc-icon::before{
  content:"";
  position:absolute;
  top:2px;
  right:2px;
  bottom:2px;
  left:2px;
  border:1px solid var(--st-brass-ink);       /* the ring: solid brass ink, 6.71
                                                 worst — the .72 alpha first
                                                 written measured 3.28 nominal
                                                 and, antialiased on a 1px
                                                 circle at 1x, below 3:1 along
                                                 most of its circumference
                                                 (refuted) */
  border-radius:50%;
  background-color:var(--st-plate);
  background-image:none;
  pointer-events:none;
  /* the fill at .08s, the rim at the house .24s: the inversion from
     dark-on-light to light-on-dark has to cross the face's luminance;
     a fast fill keeps the glyph below 3:1 for ~30 ms, not ~60 (refuted) */
  transition:background-color .08s var(--st-ease), border-color var(--st-t) var(--st-ease);
}
.page-id-1511 .new_stay .jd-services .jd-svc-icon > svg{
  position:relative;                          /* over the ::before */
  display:block;
  flex:none;
  width:var(--sv-icon);                       /* L49 */
  height:var(--sv-icon);
  stroke:currentColor;
  stroke-width:1.6;
  fill:none;
  overflow:visible;
  vertical-align:top;
}

/* THE SENTENCE — 16px Karla; the first line centred on the seal
   ((tile − 1.5em) / 2); 68ch so the 170-character item is three deliberate
   lines at 1280, not a ribbon (L50) */
.page-id-1511 .new_stay .jd-services .jd-svc-text{
  display:block;
  min-width:0;
  max-width:68ch;
  margin:0;
  padding:calc((var(--sv-tile) - 1.5em) / 2) 0 0;
  font-family:var(--st-sans);
  font-size:16px;
  font-weight:400;
  line-height:1.5;
  color:var(--st-body);                       /* 9.24 worst */
  overflow-wrap:break-word;
  -webkit-hyphens:manual;
          hyphens:manual;
  text-wrap:pretty;
  transition:color var(--st-t) var(--st-ease);
}

/* THE TOUCH STATE (L48) — the same warmth, on press */
.page-id-1511 .new_stay .jd-services .jd-svc:active::after,
.page-id-1511 .new_stay .jd-services .jd-svc:active + .jd-svc::after{ background-color:var(--st-brass-ink); }
.page-id-1511 .new_stay .jd-services .jd-svc:active .jd-svc-icon{
  border-color:var(--st-rule);
  color:var(--st-brass);                      /* 6.52 on the recess */
}
.page-id-1511 .new_stay .jd-services .jd-svc:active .jd-svc-icon::before{
  background-color:var(--st-recess);
  border-color:var(--st-brass);               /* 6.52 */
}
.page-id-1511 .new_stay .jd-services .jd-svc:active .jd-svc-text{ color:var(--st-ink); }

/* THE HOVER STATE — pointer only: the seal becomes the gallery's disc, the
   sentence goes to ink, the row's two rules go solid (the rate row's idiom) */
@media (hover:hover){
  .page-id-1511 .new_stay .jd-services .jd-svc:hover::after,
  .page-id-1511 .new_stay .jd-services .jd-svc:hover + .jd-svc::after{ background-color:var(--st-brass-ink); }   /* 6.38 */
  .page-id-1511 .new_stay .jd-services .jd-svc:hover .jd-svc-icon{
    border-color:var(--st-rule);
    color:var(--st-brass);                    /* 6.52 */
  }
  .page-id-1511 .new_stay .jd-services .jd-svc:hover .jd-svc-icon::before{
    background-color:var(--st-recess);        /* 12.56 as an area */
    border-color:var(--st-brass);
  }
  .page-id-1511 .new_stay .jd-services .jd-svc:hover .jd-svc-text{ color:var(--st-ink); }   /* 10.04 */
}

/* THE ENTRANCE (L45–L47) — as a row's top edge crosses the fold its rule is
   drawn from the left, the seal settles, the sentence arrives behind it;
   all on the row's own entry, all whole by 70% of it. Outside the range
   and where unsupported, nothing is hidden */
@supports (animation-timeline: view()){
  @keyframes jd-svc-rule{
    0%{ transform:scaleX(0); }
    50%,100%{ transform:scaleX(1); }
  }
  @keyframes jd-svc-seal{
    0%,10%{ opacity:0; transform:scale(.92); }
    60%,100%{ opacity:1; transform:none; }
  }
  @keyframes jd-svc-words{
    0%,20%{ opacity:0; transform:translateY(4px); }
    70%,100%{ opacity:1; transform:none; }
  }
  .page-id-1511 .new_stay .jd-services .jd-svc{ view-timeline:--jd-svc-row block; }
  .page-id-1511 .new_stay .jd-services .jd-svc::after{
    animation:jd-svc-rule linear none;
    animation-timeline:--jd-svc-row;
    animation-range:entry 0% entry 100%;
  }
  .page-id-1511 .new_stay .jd-services .jd-svc-icon{
    animation:jd-svc-seal linear none;
    animation-timeline:--jd-svc-row;
    animation-range:entry 0% entry 100%;
  }
  .page-id-1511 .new_stay .jd-services .jd-svc-text{
    animation:jd-svc-words linear none;
    animation-timeline:--jd-svc-row;
    animation-range:entry 0% entry 100%;
  }
}

/* BREAKPOINTS — min-width only, ascending; one column at all of them */
@media (min-width:576px){
  .page-id-1511 .new_stay .jd-services{ --sv-gap:16px; }
}
@media (min-width:768px){
  .page-id-1511 .new_stay .jd-services{ --sv-pad:11px; }
}
@media (min-width:992px){
  .page-id-1511 .new_stay .jd-services{ --sv-gap:18px; }
}
/* 1244, not 1200: at 1200–1243 the container is 1140 and the text column
   578px — exactly the width of the one-line security sentence with the
   48px seal (0px slack, a hair-trigger wrap under any fallback font);
   from 1244 the container is 1220 and the line keeps 12px (refuted) */
@media (min-width:1244px){
  .page-id-1511 .new_stay .jd-services{ --sv-tile:48px; --sv-icon:28px; --sv-pad:10px; }   /* 1.87px strokes */
}

/* prefers-reduced-motion — L47: animation off by name, the states kept
   (later in source than the @supports block at equal specificity) */
@media (prefers-reduced-motion:reduce){
  .page-id-1511 .new_stay .jd-services .jd-svc::after,
  .page-id-1511 .new_stay .jd-services .jd-svc-icon,
  .page-id-1511 .new_stay .jd-services .jd-svc-icon::before,
  .page-id-1511 .new_stay .jd-services .jd-svc-text{
    animation:none;
    transition:none;
    opacity:1;
    transform:none;
  }
}

/* forced-colors — fills and the green vanish; the rules come back as
   CanvasText (§18's lede-mark precedent), the pressed or hovered seal as
   Highlight / HighlightText */
@media (forced-colors:active){
  .page-id-1511 .new_stay .jd-services > .jd-services-title{ border-top-color:CanvasText; }
  .page-id-1511 .new_stay .jd-services > .jd-services-list{ border-bottom-color:CanvasText; }
  .page-id-1511 .new_stay .jd-services .jd-svc::after{ background-color:CanvasText; animation:none; transform:none; }
  .page-id-1511 .new_stay .jd-services .jd-svc-icon{ border-color:CanvasText; color:CanvasText; }
  .page-id-1511 .new_stay .jd-services .jd-svc-icon::before{ border-color:CanvasText; }
  /* the state rules at their own specificity (0,5,1)/(0,6,1): without
     these the hover/press recolour to brass ink wins over the CanvasText
     above and is forced to Canvas — the framing rules VANISH on hover
     (refuted, major) — and the pressed seal's rim (forced-color-adjust:
     none) kept its .72 brown */
  .page-id-1511 .new_stay .jd-services .jd-svc:active::after,
  .page-id-1511 .new_stay .jd-services .jd-svc:active + .jd-svc::after{ background-color:CanvasText; }
  .page-id-1511 .new_stay .jd-services .jd-svc:active .jd-svc-icon{ forced-color-adjust:none; color:HighlightText; border-color:Highlight; }
  .page-id-1511 .new_stay .jd-services .jd-svc:active .jd-svc-icon::before{ background-color:Highlight; border-color:Highlight; }
  @media (hover:hover){
    .page-id-1511 .new_stay .jd-services .jd-svc:hover::after,
    .page-id-1511 .new_stay .jd-services .jd-svc:hover + .jd-svc::after{ background-color:CanvasText; }
    .page-id-1511 .new_stay .jd-services .jd-svc:hover .jd-svc-icon{ forced-color-adjust:none; color:HighlightText; border-color:Highlight; }
    .page-id-1511 .new_stay .jd-services .jd-svc:hover .jd-svc-icon::before{ background-color:Highlight; border-color:Highlight; }
  }
}

/* print — black on white, the rules as borders (backgrounds do not print),
   every row whole, no reveal (L47, L51) */
@media print{
  .page-id-1511 .new_stay .jd-services{ margin-top:14pt; }
  .page-id-1511 .new_stay .jd-services > .jd-services-title{
    color:#000;
    border-top-color:#000;
    -moz-column-break-after:avoid;
         break-after:avoid;               /* the eyebrow keeps its first row */
  }
  .page-id-1511 .new_stay .jd-services > .jd-services-list{ border-bottom:1pt solid #000; }
  .page-id-1511 .new_stay .jd-services .jd-svc{
    border-top:1pt solid #000;
    -moz-column-break-inside:avoid;
         break-inside:avoid;
  }
  .page-id-1511 .new_stay .jd-services .jd-svc::after{ display:none; }
  .page-id-1511 .new_stay .jd-services .jd-svc-icon{ border-color:#000; color:#000; }
  .page-id-1511 .new_stay .jd-services .jd-svc-icon::before{ background:#fff; border-color:#000; }
  .page-id-1511 .new_stay .jd-services .jd-svc-text{ color:#000; }
  .page-id-1511 .new_stay .jd-services .jd-svc-icon,
  .page-id-1511 .new_stay .jd-services .jd-svc-text{
    animation:none;
    transition:none;
    opacity:1;
    transform:none;
  }
}
/* ===== JD SERVICES SECTION (panel FINAL) — END ===== */
